javascript - Google 脚本 onChange 第三方 INSERT_ROW

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

一年多来我一直在努力寻找这个问题的明确答案。希望你们中的一个人能找到解决方案。

我需要一个简单的脚本来在添加新行时触发。就是这样。我自己和每个试图帮助我的人面临的唯一问题是它来自第三方来源(表格)。

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

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

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

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

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

最佳答案

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

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

其中 ss 是事件电子表格的句柄。

关于javascript - Google 脚本 onChange 第三方 INSERT_ROW,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28921967/

相关文章:

c# - websocket 无法访问本地网络客户端服务

javascript - window.onerror 函数在不同浏览器上的处理方式不同

Javascript 将 30 或 20、22 天添加到原始日期?

javascript - 如何将 div 从一个 .panel-body div 移动到另一个

c# - 向WPF中的用户报告错误的简单方法?

tomcat - tomcat webapp 服务器中的 ‘catalina.out’ 和 ‘catalina.YYYY-MM-DD.log’ 日志文件有什么区别?

javascript - 优化二维数组的迭代

google-apps-script - Google Apps 脚本 - 如何更改代码以在事件 Google 云端硬盘共享文件夹而不是根(我的云端硬盘)文件夹中创建 Google 表格文件?

javascript - 使用 HTML 表单将数据传递给 Javascript 代码

javascript - AngularJS:将变量传递到服务中