Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 编辑范围时的Google脚本返回日期_Date_Google Apps Script_Google Sheets - Fatal编程技术网

Date 编辑范围时的Google脚本返回日期

Date 编辑范围时的Google脚本返回日期,date,google-apps-script,google-sheets,Date,Google Apps Script,Google Sheets,我目前正在为电子表格编写脚本 所需行为:编辑单元格F-I时,应在相应行的单元格L中返回最近一次编辑的日期 我找到了两个代码示例,第一个示例返回单元格L中编辑行中任何字段的日期。这种行为是可以接受的,但并不理想,因为它适用于任何col 函数onEdit{ var s=电子表格app.getActiveSheet; var r=s.getActiveCell; 如果r.getColumn!=2{ var row=r.getRow; var时间=新日期; 时间=Utilities.formatDate

我目前正在为电子表格编写脚本

所需行为:编辑单元格F-I时,应在相应行的单元格L中返回最近一次编辑的日期

我找到了两个代码示例,第一个示例返回单元格L中编辑行中任何字段的日期。这种行为是可以接受的,但并不理想,因为它适用于任何col

函数onEdit{ var s=电子表格app.getActiveSheet; var r=s.getActiveCell; 如果r.getColumn!=2{ var row=r.getRow; var时间=新日期; 时间=Utilities.formatDatetime,GMT-05:00,yyyy-MM-dd; 电子表格app.getActiveSheet.getRange'L'+row.toString.setValuetime; }; }; 第二个单元格应返回编辑列右侧的日期单元格。不需要此行为,因为它可能会覆盖其他重要数据

函数onEdite{ var s=电子表格app.getActiveSheet; var cols=[1,7,13,19,25,31] 如果s.getName!==Sheet1 | | cols.indexOfe.range.columnStart==1返回; s、 GetRange.range.rowStart,e.range.columnStart+1 .setValuenew日期; };
如果您能提供任何帮助或建议,帮助您编辑这些内容,使其更接近预期结果,我们将不胜感激。谢谢

像这样的方法应该会奏效:

function onEdit(e) {
var ss = e.source.getActiveSheet();
var watchedCols = [6, 7, 8, 9]
if (watchedCols.indexOf(e.range.columnStart) === -1) return;
ss.getRange(e.range.rowStart, 12)
    .setValue(e.value ? Utilities.formatDate(new Date(), "GMT-05:00", "yyyy-MM-dd") : null)
}
请注意,该脚本将适用于谷歌电子表格的每一页。如果要将其限制为仅一张图纸,并排除第一行标题中的编辑,可以尝试以下操作:

function onEdit(e) {
var ss = e.source.getActiveSheet();
var watchedCols = [6, 7, 8, 9];
var watchedSheet = 'Sheet1'; //change name if needed
if (watchedCols.indexOf(e.range.columnStart) === -1 || ss.getName() !== watchedSheet || e.range.rowStart < 2) return;
ss.getRange(e.range.rowStart, 12)
    .setValue(e.value ? Utilities.formatDate(new Date(), "GMT-05:00", "yyyy-MM-dd") : null)
}

希望有帮助?

完美无瑕!谢谢你的帮助。