【发布时间】:2019-06-25 19:18:03
【问题描述】:
我有一个谷歌表,用户可以在其中扫描产品的条形码。我需要记录扫描产品的日期和时间,因此构建了一个 onedit 脚本来做到这一点。然而,它并没有持续发射。
function onEdit(event) {
var eventRange = event.range;
var s = SpreadsheetApp.getActiveSheet();
if ( s.getName() == "Dolly Returns") {
if (eventRange.getColumn() == 2) {
var columnARange =
SpreadsheetApp.getActiveSheet().getRange(eventRange.getRow(), 1,
eventRange.getNumRows(), 1);
var values = columnARange.getValues();
for (var i = 0; i < values.length; i++) {
values[i][0] = new Date();
}
columnARange.setValues(values);
}
}
}
如果我开始编辑 B 列中的单元格(相对较快),代码似乎很难为每次编辑更新 A 列。如果您在每次编辑之间暂停几秒钟,它确实有效,但我希望可以改进代码以确保它 100% 的时间。
【问题讨论】:
-
我能问一下你的情况吗?例如,在以下情况下,有一种解决方法。 1. 将值放入“B”列的空单元格中。在这种情况下,您可以输入各种值。 2. 单元格的值被替换为相同的值。例如,当将值
done放入“B”列时,将触发 OnEdit 触发器。 3. 例如,当复选框为 ON 或 OFF 时,触发 OnEdit 触发器。您可以在here查看示例情况。
标签: google-apps-script google-sheets triggers