Google 脚本:有一个静态的 onEdit 时间戳
Google Script: Have an onEdit timestamp static
我试图在将数据添加到 sheet 时在列中显示时间戳。我使用以下脚本取得了一些成功:
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 列中的文本时,时间戳都会更改为当前时间。
我希望它有一个时间戳,显示最初添加文本的时间(这样它就可以在另一个 sheet 中按那个日期组织)。其他人将可以访问此 sheet 并且可能会意外更改某些内容并导致按日期组织的 sheet 发生更改。
我是脚本新手,是否可以在第一次添加数据时只使用 onEdit 运行? onChange() 似乎可以帮助我,但我还没有找到任何东西。
基本上,如果时间戳单元格已填满,您希望终止。
if (e.source
.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.getValue()) {
return;
}
我试图在将数据添加到 sheet 时在列中显示时间戳。我使用以下脚本取得了一些成功:
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 列中的文本时,时间戳都会更改为当前时间。
我希望它有一个时间戳,显示最初添加文本的时间(这样它就可以在另一个 sheet 中按那个日期组织)。其他人将可以访问此 sheet 并且可能会意外更改某些内容并导致按日期组织的 sheet 发生更改。
我是脚本新手,是否可以在第一次添加数据时只使用 onEdit 运行? onChange() 似乎可以帮助我,但我还没有找到任何东西。
基本上,如果时间戳单元格已填满,您希望终止。
if (e.source
.getActiveSheet()
.getRange(e.range.rowStart, colToStamp)
.getValue()) {
return;
}