【发布时间】:2018-01-09 09:06:44
【问题描述】:
这是我第一次发帖,所以我希望我做的一切都是正确的:)
我在谷歌表格中实现了一个脚本,当在该行上编辑单元格时,该脚本会在 B 列中创建一个时间戳。
效果很好,除了:
- 当我选择一系列单元格并按“删除”时,即使我修改了多个单元格,也只有一个时间戳更新(活动单元格的时间戳)
- 如果我向下拖动以将值从一个单元格向下自动填充到多个单元格中(例如,如果我从 A1 向下拖动到 A5,以使用 A1 中的值填充 A2-A5),那么只有第一个时间戳(例如 A2)更新,其余部分保持原样。
有解决这些问题的方法吗?
这是我的代码
function onEdit(e) {
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() != 2 && e.source.getActiveSheet().getName() === "MySheet") { //checks the column & checks the sheet is the correct one
var row = r.getRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT+10:00", "dd/MM/yyyy HH:mm:ss");
SpreadsheetApp.getActiveSheet().getRange('B' + row.toString()).setValue(time);
};
};
这是一个包含代码的示例电子表格:
【问题讨论】:
标签: javascript google-sheets google-api timestamp