当用户在 google sheet 和 return 新创建的行号列表中插入行时触发

Trigger when user insert row in google sheet and return the list of new created row numbers

我使用 google 脚本在用户插入行时捕获事件(在 google sheet 中)并获取新创建的行号列表。

我试过 onChange :

function onInsertRow(e){
  if (e.changeType == "INSERT_ROW") { 
    SpreadsheetApp.getUi().alert("insert");
  }
}

触发器有效,但 onChange() 的事件对象没有范围 属性。那么如何获取已插入的行号列表?

代码如下:

  1. 您必须设置一个新触发器。

您可以使用 getRow 或 geRowIndex 找出更改的行。

希望这会有所帮助。

function setUpTrigger(){
  ScriptApp.newTrigger('on_insert').forSpreadsheet('id').onChange().create();
}

function on_insert(e){
  const sheet = SpreadsheetApp.getActiveSheet(); 
  sheet.appendRow([e.changeType,e.source.getActiveSheet().getActiveRange().getRowIndex()])
}