【问题标题】:Using onChange trigger on google sheets script在谷歌表格脚本上使用 onChange 触发器
【发布时间】:2017-08-18 10:41:20
【问题描述】:

我正在谷歌表格脚本编辑器中运行一个脚本,以触发我在当前项目的触发器中使用 onChange 的脚本,使用特定函数 -> 从电子表格 -> 更改。

值得一提的是,我与另外 3 个具有编辑权限且不时更改数据的成员一起使用工作表,我构建了脚本并激活了触发器。

当我更改工作表中的任何内容时,我会收到警报(触发器已打开),但当其他成员更改数据时,触发器不起作用。

我在这里错过了什么?

谢谢。

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    每个人都需要一个触发器

    您可以将触发器管理添加到程序中,以便他们的项目中也有触发器。 isTrigger() 函数确保您只为每个实例创建一个触发器。您可以找到文档here

    function myTriggerSetup() 
    {
      if(!isTrigger('functionName'))
      {
        ScriptApp.newTrigger('functionName').forSpreadsheet('Spreadsheet').onChange().create();  
      }
    }
    
    function isTrigger(funcName)
    {
      var r=false;
      if(funcName)
      {
        var allTriggers=ScriptApp.getProjectTriggers();
        var allHandlers=[];
        for(var i=0;i<allTriggers.length;i++)
        {
          allHandlers.push(allTriggers[i].getHandlerFunction());
        }
        if(allHandlers.indexOf(funcName)>-1)
        {
          r=true;
        }
      }
      return r;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-16
      • 1970-01-01
      相关资源
      最近更新 更多