Javascript 为什么我的google脚本中没有触发onEdit函数
我见过一些人问这个问题,但我似乎还没有找到答案 我通过进入Javascript 为什么我的google脚本中没有触发onEdit函数,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,我见过一些人问这个问题,但我似乎还没有找到答案 我通过进入Extra->scripteditor创建了一个带有谷歌脚本的谷歌工作表 现在在脚本中,我创建了一个名为onSheetUpdate的函数: function onSheetUpdate(e){ console.log("test"); console.log(e); } 起初,我配置了Change事件,但这没有给我所需的事件对象,因此我将其更改为Edit事件 对不起荷兰人 Change事件运行良好,我在stackdrive
Extra->scripteditor
创建了一个带有谷歌脚本的谷歌工作表
现在在脚本中,我创建了一个名为onSheetUpdate
的函数:
function onSheetUpdate(e){
console.log("test");
console.log(e);
}
起初,我配置了Change
事件,但这没有给我所需的事件对象,因此我将其更改为Edit
事件
对不起荷兰人
Change
事件运行良好,我在stackdriver日志中获得了输出。但是Edit
事件不起作用。为什么不起作用?好吧,我发现解决方案比我想象的还要简单
只需创建一个带有此签名的函数OnEdit(e)
,它就会在每次更改时启动你甚至不需要在这个奇怪的小菜单中创建一个
只需使用以下代码:
function onEdit(e){
console.log(e);
}
不注册一个:
然后,当启动堆栈驱动程序日志时:
您将看到它的工作原理:
请注意,我使用的是
console.log()
,有时我需要稍微调整一下过滤器。如果我对您的情况的理解是正确的,当它在和处看到文档时,onChange()和onEdit()are指定在电子表格的内容或结构更改时触发的触发器。
和分别指定在编辑电子表格时触发的触发器。
。因此,作为测试,当您尝试onChange()时,请添加一行并检查日志。当您尝试onEdit()时,请修改单元格值并检查日志。我真的很抱歉我帮不上忙。哈哈,别担心,谢谢您的快速响应!请注意,简单触发器(具有保留函数名的触发器,如onEdit
或onOpen
)与已安装的触发器(使用该菜单或ScriptApp.createTrigger
创建)之间存在显著差异。明智的做法是充分了解这种差异。