javascript - 通过 G Spreadsheets G Forms 之间的 appscript 删除引用
问题描述
我正在做一个项目,我想将电子表格文件保存为 PDF,因为我需要临时复制文件并删除多余的工作表。
问题是一张表引用了一个公式,这使得脚本无法删除多余的表。
可以手动删除参考。
我想用appsscipt做到这一点。
最近我找不到这样做的方法。
解决方案
使用Spreadsheet.copy(name)时,电子表格连同其(大部分)元数据一起被复制,包括表单绑定。为了避免这种情况,您可以创建自己的copy
函数,逐页复制它,避免保留绑定。该函数如下所示:
function customCopy(origin, destination) {
origin.getSheets().forEach(function(sheet) {
var copiedSheet = sheet.copyTo(destination);
copiedSheet.setName(sheet.getName());
});
destination.deleteSheet(destination.getSheets()[0]);
}
您可以使用以下功能对其进行测试:
function test() {
var origin = SpreadsheetApp.getActive();
var destination = SpreadsheetApp.create('New Spreadsheet');
customCopy(origin, destination);
}
请注意,此替代功能将比 Spreadsheet.copy 慢得多,尤其是在您的电子表格文档包含许多工作表时。
推荐阅读
- r - 基于参考日期的列在两个数据框之间合并
- node.js - 在调用另一个函数的函数中处理 UnhandledPromiseRejectionWarning
- javascript - JavaScript 从 html 获取数据获取请求
- ios - 应用程序处于后台模式时的电池电量更新值 swift
- ios - 如何创建具有特定类的 UICollectionView 单元格?
- r - 设置 number 中的最大字符数
- python-3.x - 使用 re.sub 屏蔽多个敏感数据?
- c++ - 包含指针的原子结构
- javascript - 将数据从驱动器装载到 Colab(错误)
- c# - 如何将此 linq 连接转换为实体框架 Include 和 ThenInclude