[英]google sheets timestamp script not updating when deleting or updating a range of cells
这是我的第一次发贴,所以我希望我做对了一切:)
我已经在Google工作表中实现了一个脚本,该脚本在该行中的单元格进行编辑时会在B列中创建一个时间戳。
它工作完美,除了:
任何想法如何解决这些问题?
这是我的代码
function onEdit(e) { var s = SpreadsheetApp.getActiveSheet(); var r = s.getActiveCell(); if( r.getColumn() != 2 && e.source.getActiveSheet().getName() === "MySheet") { //checks the column & checks the sheet is the correct one var row = r.getRow(); var time = new Date(); time = Utilities.formatDate(time, "GMT+10:00", "dd/MM/yyyy HH:mm:ss"); SpreadsheetApp.getActiveSheet().getRange('B' + row.toString()).setValue(time); }; };
这是一个包含代码的电子表格示例:
通常,将事件对象用于与该操作相关的所有事情都是一种好习惯。
可以通过进一步使用事件的范围来处理多行,以获取事件的范围。
function onEdit(e) {
var r = e.range;
if(r.getColumn() !== 2 && r.getSheet().getName() === "MySheet") {
var row = r.getRow();
var lastRow = r.getLastRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT+10:00", "dd/MM/yyyy HH:mm:ss");
r.getSheet().getRange(row, 2, lastRow - row + 1, 1).setValue(time);
};
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.