在Google Doc前面的2列中进行编辑时,应该以当前时间更新。
因此,如果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日志中获取错误,但它不起作用。
答案 0 :(得分:1)
一种功能,当编辑B或C列时,在相应的行中写入时间戳。
这就是您真正需要的。这是一个小脚本,每当编辑工作表时,都会使用简单的select
*
, ROW_NUMBER() over(order by Join_Date) as num
from
Cust_Tbl
触发器自动自动运行。它所做的只是检查使用事件对象编辑的列,然后在D列中写入时间戳。
注意:您将无法手动运行此代码,而是在编辑工作表时自动运行。
onEdit