谷歌脚本 - onEdit(e)没有触发

时间:2017-11-17 15:55:04

标签: google-apps-script

我有一张google工作表,后面有一些脚本运行。我不得不将一些选项卡分离到各个工作簿,并相应地更新了脚本。我的一个功能是onEdit(e)触发器,它不再在新工作簿中运行。作为测试的一部分,我将其简化为:

function onEdit(e) {
  Logger.log("TEST");
}

无论我在附加的工作表中做出哪些更改,Logger.log都不会写。

我做过一些研究,尤其是简单的触发器限制,其中一个涉及openByURL,我在脚本的其他地方使用。

var otherBook = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/etcetc/edit');

即使onEdit(e)没有直接关联,脚本中是否存在openByUrl阻止onEdit(e)运行?如果是这样,有没有办法解决这个问题,以便我可以根据编辑触发操作,还能从备用工作簿中提取数据?

2 个答案:

答案 0 :(得分:0)

我将以下内容插入到一个新脚本中,而onEdit(e)在没有问题的情况下工作。要从onEdit调用受限于简单触发器的函数,请安装触发器并将其设置为在电子表格编辑时触发。

function onEdit(e) {
  Logger.log("TEST2");
}

function test() {
  var otherBook = SpreadsheetApp.openByUrl('https://docs.google.com/spreadsheets/d/etcetc/edit');
}

答案 1 :(得分:-1)

关于Logger,您可以尝试:

Logger.log(["TEST"]);代替Logger.log("TEST");

您的登录行也不适用于我,但使用括号。