CurrentTime脚本在Google文档中不起作用

时间:2019-07-10 20:48:16

标签: javascript google-apps-script

在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日志中获取错误,但它不起作用。

1 个答案:

答案 0 :(得分:1)

目标:

一种功能,当编辑B或C列时,在相应的行中写入时间戳。


解决方案:

这就是您真正需要的。这是一个小脚本,每当编辑工作表时,都会使用简单的select * , ROW_NUMBER() over(order by Join_Date) as num from Cust_Tbl 触发器自动自动运行。它所做的只是检查使用事件对象编辑的列,然后在D列中写入时间戳。

注意:您将无法手动运行此代码,而是在编辑工作表时自动运行。

onEdit

参考文献: