【发布时间】:2020-12-11 23:08:48
【问题描述】:
我无法让我的 OnEdit 功能正常工作。我在电子表格中嵌入了一个触发复选框作为命名范围,这样我的团队就可以“检查”触发框以运行脚本,而无需深入研究脚本。我在电子表格中创建的命名范围按钮称为“MasterClear”。
但是,当我尝试运行 OnEdit 脚本时,我在第 3 行收到一条错误消息。这些函数在我测试它们时会自行工作。但是,单独的 OnEdit 触发器并没有执行。我从网上找到的论坛借用了这行代码,所以我无法自己解码或解决它。有人可以帮忙吗?
脚本 //
function onEdit(e) {
var MasterClear = SpreadsheetApp.getActiveSpreadsheet().getRangeByName("MasterClear").getA1Notation();
var actv = e.range.getA1Notation();
if (actv == MasterClear ) {
clear1();
clear2();
}
}
function clear1() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Team 3');
sheet.getRange('T11:T300').clearContent() ;
}
function clear2() {
var sheet = SpreadsheetApp.getActive().getSheetByName('Team 3');
sheet.getRange('O11:O300').clearContent() ;
}
【问题讨论】:
-
我经常使用
e.source.toast(),并且在工作正常时我会定期检查视图/执行。在特别困难的情况下,我从另一个函数调用运行整个函数,我自己提供了事件对象。但大多数时候,我只是通过编辑测试表并在 toast 或电子表格中捕获信息来进行适当的调试。 -
这能回答你的问题吗? How can I test a trigger function in GAS?
-
您正在尝试从脚本编辑器运行
onEdit函数,因此不会填充e。看看this answer。
标签: debugging google-apps-script google-sheets triggers