将上次保存的 Date/Time 输出到 Google 工作表中的特定单元格

Outputting Last Saved Date/Time to a Particular Cell in Google Sheets

我正在尝试将 Google Sheet 上次保存的日期和时间输出到特定单元格(例如 M38)。我有这个脚本,它会在每次保存电子表格时自动更新,但它会在最后一行更新。我不知道如何让它出现在特定的单元格中。

function onEdit() {
  var thisSheet = SpreadsheetApp.getActiveSheet();
  var theLastRow = thisSheet.getLastRow();
  var newRowRange = thisSheet.getRange(theLastRow+1,1);
  var theDateTime = new Date();
  newRowRange.setValue(theDateTime.toLocaleString());
};

有什么想法吗?

尝试:

function onEdit(e) {
e.source.getActiveSheet()
    .getRange('M38')
    .setValue(new Date()
        .toLocaleString())
}

请注意,这将在每个 sheet 的单元格 M38(更改为您喜欢的任何单元格)中输出日期(和时间)。如果这不是您想要的,您将必须检查脚本中活动 sheet 的名称。

更新:根据 OP 的评论,对代码进行了轻微更改以满足新要求:

function onEdit(e) {
var d = new Date()
e.source.getActiveSheet()
.getRange('M37')
.setValue('Last Modified:\n' +d
    .toLocaleDateString() + '\n' + d.getHours() + ':' + d.getMinutes())
}

警告,重要的是:onEdit() 解决方案显然对 Undo/Redo 行为有副作用。也许值得将此告知您的用户。

致谢及更多信息: https://itectec.com/webapp/google-sheets-how-to-show-last-edited-date-and-user-on-google-sheets/