如何将事件对象传递给 Google Apps 脚本中的 .onChange() 触发器

How to pass event object to .onChange() trigger in Google Apps Script

我正在尝试向我的 Google Sheet 添加触发器,以便某个功能是 运行(例如,警报是 ui)重命名任何工作表时。

我发现以下 post 解释了解决方法 但我不确定这是否真的有效,因为这不是该听众应该收听的文件。

根据我之前为 Google 表单编写成功甚至触发器的经验,我们必须使用触发器 builder,如下例所示。现在,如果我想在下面的代码中将 event 传递给 myFunction,我该怎么做?

let currentSs = SpreadsheetApp.getActive();

ScriptApp.newTrigger('myFunction')
.forSpreadsheet(currentSs)
.onChange()
.create();

function myFunction() {
 if event.changeType === 'Other' {
  //do this
 }
}

试试这个:

function createTrigger() {
  if (ScriptApp.getProjectTriggers().filter(t => t.getHandlerFunction() == "myFunction").length == 0) {
    ScriptApp.newTrigger("myFunction").forSpreadsheet(SpreadsheetApp.getActive()).onChange().create();
  }
}

function myFunction(e) {
  if (e.changeType == 'OTHER') {
    //do this
  }
}