我在onOpen()中添加了一些菜单并启用了自定义可安装onEdit触发器,如下所示。所有菜单均按预期设置,但未设置自定义可安装onEdit触发器。它似乎不执行这些行来删除和创建触发器。这里发生了什么?解决方案?Google Apps脚本 - 从模板电子表格复制后未设置可安装的OnEdit触发器
function onOpen() {
var ass = SpreadsheetApp.getActiveSpreadsheet();
ass.addMenu("TriggerOn", [null, {name: "Disable OnEditTrigger", functionName: "disableOnEditTrigger"}]);
ass.addMenu("AlertOn", [null, {name: "Alert Off", functionName: "alertOff"}]);
ass.addMenu("EmailBodyHtml", [null, {name: "TextBody", functionName: "textbody"}]);
ass.addMenu("Setup", [null, {name: "MasterTemplate", functionName: "setMasterTemplate"}]);
//delete all previous triggers
var allTriggers = ScriptApp.getScriptTriggers();
// Loop over all triggers
for(var i=0; i < allTriggers.length; i++)
ScriptApp.deleteTrigger(allTriggers[i]);
// Create onEdit trigger using the Spreadsheet
var onEditTrigger = ScriptApp.newTrigger("myOnEdit")
.forSpreadsheet(ass)
.onEdit()
.create();
ScriptProperties.setProperty("alert", "1");
ScriptProperties.setProperty("emailbody", "htmlbody");
}
是的。 onOpen是一个简单的触发器。将“创建新的触发器”代码移动到菜单项功能中。 –