Excel 中的时间戳 - Apps 脚本

问题描述 投票:0回答:1

美好的一天!我是 Excel 和 Apps 脚本的新手,我正在尝试在列上添加时间戳,该时间戳将在我编辑单元格时显示。我的 A 列包含我要输入的信息,并且需要 B 列显示我输入的时间 - 只有时间,没有日期。 D 至 E 列也是如此。非常感谢您对公式/代码的任何帮助。

我试过这个:

 /** @OnlyCurrentDoc */
function onEdit(e){
const sh = e.source.getActiveSheet();
sh.getRange ('M' + e.range.rowStart)
.setValue (new Date())
.setNumberFormat ('MM/dd/yyyy HH:MMam/pm');
}

但这显示了我在当前工作表的单元格中所做的所有编辑。因此,当我编辑 C 列时,时间戳会显示在这里。我需要在 B 列时间戳中显示 A 列编辑,以及在 D 列到 E 中显示。

google-apps-script
1个回答
0
投票

您可以检查编辑了哪一列,并在 B 或 D 列中添加时间戳,如下所示:

/** @OnlyCurrentDoc */
function onEdit(e) {
  if (e.range.getColumn() == 1 || e.range.getColumn() == 3) {
    const sheet = SpreadsheetApp.getActiveSheet();
    sheet.getRange(e.range.getRow(), e.range.getColumn() + 1)
        .setValue(new Date())
        .setNumberFormat('HH:MMam/pm');
  }
 }
© www.soinside.com 2019 - 2024. All rights reserved.