当指定的单元格(B4:B8)
发生更改时,我编写了一个脚本来清除一系列单元格(C1)
。但是,编辑指定的单元格时,单元格不会被清除。这是脚本:
function onChange() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Quality Control').getRange('C1');
ScriptApp.newTrigger("clearRange")
.forSpreadsheet(sheet)
.onChange()
.create();
}
function clearRange() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Quality Control');
sheet.getRange('B4:B8').clearContent();
}
函数onChange
设置为运行onOpen
(触发器)。
知道为什么这个脚本不起作用?
答案 0 :(得分:0)
不是通过代码创建触发器而是手动创建它。设置触发器直接调用clearRange()。
问题中的脚本无法正常工作,因为存在错误,但修复错误可能更好地手动设置触发器,否则每次打开电子表格时都会创建新的触发器。
要手动创建触发器,请按照https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_manually
中的说明操作手动管理触发器
通过中的对话框手动创建可安装的触发器 脚本编辑器,请按照下列步骤操作:
- 从脚本编辑器中选择Resources>当前项目的触发器。
- 点击以下链接:未设置触发器。点击这里,马上添加一个。
- 在“运行”下,选择要触发的功能名称。
- 在“事件”下,选择“时间驱动”或脚本绑定的Google App(例如,“从电子表格”)。
- 选择并配置要创建的触发器类型(例如,每小时运行的小时计时器或打开的触发器)。
- (可选)单击通知以配置触发功能失败时如何以及何时通过电子邮件联系您。
- 点击保存。
醇>
json
要求.forSpreadsheet(sheet)
为电子表格对象,但您的代码会为sheet
变量指定范围。
来自https://developers.google.com/apps-script/reference/script/spreadsheet-trigger-builder#onchange
sheet
请参阅https://developers.google.com/apps-script/troubleshooting了解如何在Google Apps脚本编辑器上使用调试工具