Google脚本:保持onEdit时间戳静态

时间:2016-10-06 21:07:38

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

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

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);
}

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

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

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

1 个答案:

答案 0 :(得分:0)

基本上,如果时间戳单元格已经填满,您希望终止。

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