可安装触发器在插件中编辑 - 错误 - 未使用文档



这篇文章中包含的代码在插件中使用可安装的"编辑时"触发器。当我将文档的 id 作为参数传递给 Google Apps 脚本中的.forSpreadsheet(ssss)时,控制台中出现一条错误消息:

此加载项正在尝试在当前未使用它的文档上创建触发器。

似乎附加组件无法正确识别活动工作表。函数应该放在哪里? onInstall()onOpen()

function createSpreadsheetEditTrigger() {  
      var ssss = SpreadsheetApp.getActive().getId();
  ScriptApp.newTrigger('onEditTrigger')
    .forSpreadsheet(ssss)
    .onEdit()
    .create();
}
function onEditTrigger(e){
    isSheetName('SheetName') && sendingEmailFunction(e);  
}

不要使用 ID。

现在:

var ssss = SpreadsheetApp.getActive().getId();

应该是:

var ssss = SpreadsheetApp.getActive();

.forSpreadsheet(ss)的参数ss必须是电子表格对象。 您正在输入一个字符串。 getId()返回一个字符串。 始终查看返回的数据类型以及所需的数据类型。

谷歌文档

来自 https://developers.google.com/apps-script/guides/triggers/installable#managing_triggers_programmatically

function createSpreadsheetEditTrigger() {
  var ss = SpreadsheetApp.getActive();
  ScriptApp.newTrigger('myFunction')
      .forSpreadsheet(ss)
      .onOpen()
      .create();
}

最新更新