我需要在一张纸上跟随两种时间戳。
我用于第一个时间戳记的脚本是:
function onEdit(e) {
e.source.getActiveSheet()
.getRange('G2')
.setValue(new Date()).setNumberFormat("dd-MMM-yy at HH:mm");
}
我用于第二个时间戳记的脚本是:
function onEdit(e) {
if ([3].indexOf(e.range.columnStart) != -1) {
e.range.offset(0, 3).setValue(new Date());
}
}
问题是,以上脚本无法一起使用。他们发生冲突。有什么解决的办法吗?
是否可以合并两个脚本?还是可以通过任何公式而不是脚本来实现?
FIND THE WORKSHEET WITH EDIT ACCESS。
感谢任何帮助。
谢谢
答案 0 :(得分:0)
我不确定您遇到的问题。您是否尝试过将它们物理组合?然后,您可以仅在第一个语句中添加一个if语句,以确保仅当已编辑的单元格位于特定工作表上时,才输入时间戳。 (这样一来,它就不会在编辑电子表格中的任何单元格时立即更新)
function onEdit(e) {
var sheet = e.source.getActiveSheet()
if (sheet.getName() === "Sheet Name"){
sheet.getRange('G2').setValue(new Date()).setNumberFormat("dd-MMM-yy at HH:mm");
}
if ([3].indexOf(e.range.columnStart) != -1) {
e.range.offset(0, 3).setValue(new Date());
}
}
答案 1 :(得分:0)
在这种情况下,应该给函数提供不同的名称,因为可安装的触发器适用于项目中的所有.gs
文件,如果内部存在两个具有相同名称的函数,则会引起问题项目,即使它们位于不同的.gs
文件中。
在任何情况下,如果您要执行不同的任务onEdit()
,都应将它们全部合并到一个onEdit()
函数中,正如已经指出的那样。