首页 > 解决方案 > 应用程序脚本检测外部电子表格中的新行插入并获取值

问题描述

如何通过电子表格 1 中的谷歌应用脚​​本检测电子表格 2 中的新行插入。每当在该电子表格2中插入新行时,我都想获取该行的值。我想获取值的地方是电子表格 1 的脚本。

我在我的电子表格 1 脚本中使用它

var ssId2 = "1Ii0w0RPcaQWKYUDhY**************************";
var ss2 = SpreadsheetApp.openById(ssId2);

在这里,我无法确定插入的新行的范围是多少?

var values = range.getValues();
var row = values[0];
var uname = row[1];

以及如何在仅发生更改时(即仅在插入新行时)插入新行的值。

我已经尝试在整个互联网上搜索并花了几天时间但无法完成。

标签: google-apps-scriptgoogle-spreadsheet-api

解决方案


我不建议您在这种情况下使用 onEdit 触发器,特别是如果您有多个可以同时进行更改的用户,因为这个错误

“您必须假设 onEdit 触发器是尽力而为,但可能无法捕获对电子表格所做的所有编辑。”

您可以使用附加列更新电子表格 2 的工作表并运行脚本,该脚本每 5/10 分钟检查一次。该行是否为空。如果它不为空,则为列(Y/N)分配一些值,然后根据列的状态获取非空行的值并将其设置为电子表格1。


推荐阅读