当在 Google 文档前面的 2 列中进行编辑时,Google 文档应该会更新为当前时间。
因此,如果编辑 B 列或 C 列,则 D 列将更新为当前时间。
function updateDate() {
var s = SpreadsheetApp.getActive().getSheetByName("Daily");
var active_sheet =
SpreadsheetApp.getActive().getActiveSheet().getName();
var active_col = s.getActiveCell().getColumn();
var active_row = s.getActiveCell().getRow();
var target_rows = [1, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19,
20];
var target_cols = [2, 3]
var row_in_range = target_rows.indexOf(active_row) == -1 ? false :
true; Logger.log(row_in_range);
var col_in_range = target_cols.indexOf(active_col) == -1 ? false :
true; Logger.log(col_in_range);
if (row_in_range && col_in_range) {
s.getRange(active_row, 4).setValue(new Date);
s.getRange(active_row, 5).setValue(new Date);
}
}
没有从 Stackdriver 日志中收到错误,但它不起作用。
最佳答案
目标:
当编辑 B 列或 C 列时,在相应行中写入时间戳的函数。
<小时/>解决方案:
这就是您真正需要的。这是一个小脚本,每当编辑工作表时,都会使用简单的 onEdit
触发器自动运行。它所做的只是检查使用事件对象编辑的列,然后在 D 列中写入时间戳。
注意:您无法手动运行此代码,它会在编辑工作表时自动运行。
function onEdit(e) {
var sh = e.source.getActiveSheet();
var col = e.range.getColumn();
if ((col === 2 || col === 3) === true) {
var row = e.range.getRow();
sh.getRange(row, 4).setValue(new Date());
}
}
<小时/>
引用文献:
关于javascript - CurrentTime 脚本在 Google 文档中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56978420/