【问题标题】:Google Script - onEdit(e) not triggering谷歌脚本 - onEdit(e) 没有触发
【发布时间】:2017-11-17 15:55:03
【问题描述】:

我有一个谷歌表,后面运行着一些脚本。我不得不将一些选项卡分离到各个工作簿中,并相应地更新了脚本。我拥有的功能之一是 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) 运行?如果是这样,有没有办法解决这个问题,以便我可以根据编辑触发操作,同时也能够从备用工作簿中提取数据?

【问题讨论】:

    标签: google-apps-script


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      关于Logger,你可以试试:

      Logger.log(["TEST"]); 而不是Logger.log("TEST");

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

      【讨论】:

      • 感谢您的建议。我确实尝试过,但 Logger 也没有触发。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 1970-01-01
      • 2022-10-04
      相关资源
      最近更新 更多