【发布时间】:2021-01-22 19:23:40
【问题描述】:
上一个问题的继续: Detect Note changes with onChange
我知道这是一个重复的问题,但类似问题的答案对我不起作用。
Google App Script getActiveSheet returns leftmost sheet, not active sheet
function createSpreadsheetOpenTrigger() {
var ss = SpreadsheetApp.getActive();
ScriptApp.newTrigger('onChange')
.forSpreadsheet(ss)
.onChange()
.create();
}
function onChange(e) {
var ss = SpreadsheetApp.getActive().getActiveSheet();
if(e.changeType == 'OTHER') {
if (ss.getName()=="Completed") {
var celladdress ='G2';
ss.getRange(celladdress).setValue(Utilities.formatDate(new Date(), "GMT-08:00", "MM/dd/yyyy HH:mm"));
}
}
}
这是复制问题的样本表。 https://docs.google.com/spreadsheets/d/1pVfIv6NRybK8JH-FgzTLYiTkzu73-8iD77HFZOGk3iA/edit#gid=2124234178
编辑或清除“已完成”表中的注释应将日期写入单元格 G2,但事实并非如此。此外,返回活动单元格的 getRow() 和 getCol() 总是产生 1,可能是由于活动表中不存在该单元格(它仍然卡在最左边的工作表上)。帮助将不胜感激。
编辑:在进一步测试中,问题似乎出在 changeType OTHER 上。如果我将类型更改为 EDIT,则电子表格是正确的。我认为这是一个错误。我希望有一个解决方法。
【问题讨论】:
标签: google-apps-script google-sheets