【问题标题】:Google script onchange trigger is firing twiceGoogle 脚本 onchange 触发器触发了两次
【发布时间】:2020-05-06 07:33:42
【问题描述】:

我通过手动添加来使用谷歌脚本 onChange 触发器。该工作表正在从外部源获取数据并在接收到数据时创建新行。所以有 2 个事件正在发生。

  1. 添加了一个新行
  2. 数据写入这一新行。

onChange() 触发器出于相同的原因运行了两次,但我只需要运行一次。任何帮助都会很棒。谢谢。

【问题讨论】:

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


    【解决方案1】:

    使用event objects 获取有关触发器触发原因的信息

    所以,对于onChange,有例如可以包含值的事件对象changeType

    • 编辑
    • INSERT_ROW
    • INSERT_COLUMN
    • REMOVE_ROW
    • REMOVE_COLUMN
    • INSERT_GRID
    • REMOVE_GRID
    • 格式化
    • 其他

    这可以帮助您指定脚本仅在发生特定类型的Change 时才运行。

    示例:

    function runMeOnIsertRow(e){
      if(e.changeType == 'INSERT_ROW'){
        //do something
      } else{
        return;
      }
    }
    

    【讨论】:

    • 非常感谢。我刚刚尝试了上述方法,它给了我想要的确切结果。将继续测试几天,如果有任何问题或者我需要其他有关相同的帮助,我会回来。再次感谢你:)
    • 很高兴为您提供帮助!如果可以的话,出于文档目的,请接受对您有帮助的答案 (✓) - 它可以帮助将来遇到相同问题的其他人也找到解决方案:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多