我可以复制你看到在你的脚本的行为。我相信,当您在活动数据范围外添加一行时,它不会触发编辑事件。为了抓住这些事件,您还需要抓住变革事件。
https://developers.google.com/apps-script/reference/script/spreadsheet-trigger-builder#onchange
function onOpen()
{
var sheet = SpreadsheetApp.getActive();
ScriptApp.newTrigger("myFunctionx")
.forSpreadsheet(sheet)
.onChange()
.create();
}
看着一变事件的文件,你可以检测到一行被插入,但不会返回的行数。
https://developers.google.com/apps-script/guides/triggers/events#change
function myFunctionx(e) {
Logger.log("Change3");
Logger.log(e.changeType);
}
你也许能找到插入通过查看活动范围的最后一个行的行。
function myFunctionx(e) {
Logger.log("Change3");
Logger.log(e.changeType);
Logger.log(SpreadsheetApp.getActiveRange().getLastRow());
}
这是可能的,如果你复制并粘贴到多个单元格的改变影响到多行。您应该遍历范围内的所有行。
function onEdit(e) {
for(var i=e.range.getRow(); i<= e.range.getLastRow(); i++) {
SpreadsheetApp.getActiveSheet().
getRange(i, 10).setValue(e.range.getA1Notation());
}
}