【问题标题】:Google Script: Have an onEdit timestamp static谷歌脚本:有一个 onEdit 时间戳静态
【发布时间】:2016-10-06 21:07:37
【问题描述】:

每当将数据添加到工作表时,我都会尝试在列中显示时间戳。我使用以下脚本取得了一些成功:

function onEdit(e) {

var colToWatch = 2, colToStamp = 1;
if (e.range.columnStart !== colToWatch) return;
var writeVal = e.value ? new Date() : '';
e.source.getActiveSheet()
    .getRange(e.range.rowStart, colToStamp)
    .setValue(writeVal);
}

我的问题是,每次编辑 col 2 中的文本时,时间戳都会更改为当前时间。

我希望它有一个时间戳,显示最初添加文本的时间(以便可以在另一张表中按该日期组织)。其他人将可以访问此工作表,并且可能会意外更改某些内容并导致按日期组织的工作表发生更改。

我是脚本新手,是否可以让 onEdit 仅在第一次添加数据时运行?似乎 onChange() 可能可以帮助我,但我找不到任何东西。

【问题讨论】:

    标签: google-sheets google-api google-spreadsheet-api


    【解决方案1】:

    如果时间戳单元格已经填满,基本上你想终止。

    if (e.source
         .getActiveSheet()
         .getRange(e.range.rowStart, colToStamp)
         .getValue()) {
      return;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-14
      • 2021-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      相关资源
      最近更新 更多