如何将 "e" 参数传递给用触发器调用的函数?

How to pass the "e" parameters to a function called with a trigger?

我正在处理一个简单的电子表格,当我提交 Google 表单中的表单并将值插入到电子表格中时,我需要执行一些操作。阅读文档我发现我需要触发器,这一切看起来都很简单,但我遗漏了一些东西:

function setIncomes(e){
 var sheet = e.source;
 sheet.getRange('a1').setNote(Object.getOwnPropertyNames(e));
 sheet.getRange('a2').setNote(e);
 var row = e.values;

 if(row[4] == "Vincita" || row[4] == "Stipendio"){
   //do nothing
 }else{
  row[2] = 0 - row[2];
 }
 e.range.setValue(row);
 return row;
}

重要的一行是第4行:sheet.getRange('a1').setNote(Object.getOwnPropertyNames(e));

这里我得到(为了调试)e 对象的属性列表,根据 documentation 应该包括:

但我得到的只是:

为什么?

我简单地定义了这个函数,link它用适当的菜单语音触发。

这是一个错误。我注意到最好删除触发器,保存脚本,并在对其调用的函数进行更改时重新创建它。这样我就从来没有遇到过问题,不这样做会导致奇怪的行为。