【问题标题】:Google Script onChange 3rd Party INSERT_ROWGoogle Script onChange 第三方 INSERT_ROW
【发布时间】:2015-03-08 01:06:44
【问题描述】:

一年多来,我一直试图找到一个明确的答案。希望你们中的一个人有一个解决方案。

我需要一个简单的脚本来在添加新行时触发。而已。我自己和所有试图帮助我的人都面临的唯一问题是它来自第 3 方来源(表格)。

第 3 方来源在提交时在工作表中添加了一个新行,但触发器不会触发!为什么?现在我正在运行一个简单的日志测试,以查看它是否在编辑和/或更改时更新,到目前为止,两者都没有。有人可以解释这是为什么吗?我搜索了整个互联网以找到解决方案,但没有找到。

第 3 方表单是通过 Formstack 生成的,它没有理由不应该在 Sheets 中触发,因为正在添加一个新行!

下面是我用来查看它是否在编辑或更改时触发的简单函数:

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

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

【问题讨论】:

    标签: javascript logging google-apps-script google-sheets gs-installable-triggers


    【解决方案1】:

    我不知道你是否得到过这个问题的答案,但 onChange() 是一个已安装的触发器。你必须像这样添加它:

    ScriptApp.newTrigger("onChange")
        .forSpreadsheet(ss)
        .onChange()
        .create();
    

    其中ss 是活动电子表格的句柄。

    【讨论】:

    • 有什么方法可以根据onChange()事件触发它?例如当e.changeType == "INSERT_ROW"?如果不是插入的行,我的脚本顶部有一个条件 return;,但最好避免完全调用脚本。
    猜你喜欢
    • 1970-01-01
    • 2020-10-13
    • 2012-03-27
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多