【问题标题】:Google Spreadsheet Script onChange event not firingGoogle 电子表格脚本 onChange 事件未触发
【发布时间】:2014-04-23 03:36:13
【问题描述】:

我正在尝试触发 onChange 事件,但它不起作用。

我有以下简单代码:

function onChange(){
  Logger.log("onChange event fired");
}

function onEdit(){
  Logger.log("onEdit event fired");
}

https://developers.google.com/apps-script/understanding_events

根据本文档,插入行时应触发 onChange 事件。它不会被解雇。操作单元格时会触发 onEdit 函数,但我还需要在用户插入行时触发事件。

有什么想法吗?

【问题讨论】:

标签: google-apps-script google-sheets triggers onchange


【解决方案1】:

尝试使用带有一个参数的签名:

function onChange(e){
  Logger.log("onChange event fired");
}

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

然后在 ScriptEditor 中注册这些函数:

【讨论】:

    【解决方案2】:

    onChange 是一个可安装的触发器。使用以下函数安装触发器。

        function createSpreadsheetChangeTrigger() {
        var ss = SpreadsheetApp.getActive();
        ScriptApp.newTrigger('onChange')
          .forSpreadsheet(ss)
          .onChange()
          .create();
        }  
    

    【讨论】:

      【解决方案3】:

      在脚本编辑器中,我单击了“资源”菜单并从那里选择了“所有触发器”,我能够注册我的 onChange 函数,以便在电子表格更改时实际触发。

      编辑:人们告诉我用代码来做这件事,我无法让它工作。发现隐藏在文档中的 gui 方法。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多