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

标签 javascript google-apps-script

当在 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/

相关文章:

javascript - forEach 适用于 querySelectorAll,但不适用于 getElementsByTagName?

google-apps-script - 谷歌电子表格侧边栏 setWidth 不起作用

google-apps-script - 批量插入google apps脚本

javascript - 警告 : Failed propType: Invalid prop `component` supplied to `Route`

javascript - 为什么这个正则表达式输出不正确?

javascript - 在 mongoose.find 中逐字查找

google-apps-script - 如何导入多个 csv 文件(格式相同)并在 Google 电子表格中自动创建图表?

google-apps-script - 剪切一部分单元格值,然后编辑并将结果粘贴到单独的单元格中

google-apps-script - 带有 script.google.run 的 Apps 脚本参数

javascript - 在 Jest 中,如何使测试失败?