为什么不执行Google Sheets的onEdit函数?

问题描述 投票:0回答:1

我有一个已经工作了几个月的Google表格电子表格,并且没有与此相关的脚本。最近,我决定将更改日期记录为一行,并且onEdit()函数可以为我完成此操作。

从电子表格显示中,我选择了“工具/脚本编辑器”,它用myFunction()函数弹出了一个空脚本。

我将myFunction()修改为:

function onEdit(e) {
Logger.log("Something was edited.");  
}

然后按保存并接受默认项目名称(无标题项目)。我也对此进行了测试(运行),它创建了一个日志条目。

现在,当我在工作表中编辑任何值或添加新行时,我会期望有一个日志条目。但没有出现。

我错过了一步吗?为了使有效的onEdit()运行,必须做什么?

google-sheets
1个回答
0
投票

免责声明:我不经常使用Google表格中的脚本编辑器,也不经常使用Google表格本身。可能会有更好的方法来完成此操作。


根据我的经验,我还发现您还必须向脚本编辑器项目中明确添加触发器,以使事件正确触发。

  1. 从工作表中,通过选择工具> 脚本编辑器菜单选项来打开Apps脚本项目。
  2. 从出现的Apps Script项目屏幕中,选择编辑> 当前项目的触发器菜单选项。
  3. 从生成的触发器视图中,单击+添加触发器按钮(显示在向我显示的界面的右下角;您的里程可能会有所不同。)>
  4. 在生成的模态中,选择以下选项:
    1. ““选择要运行的功能”-选择onEdit方法以执行您编写的方法。
    2. ““选择应该运行哪个部署”-我选择了“ Head”选项,但是如果您选择在此处使用更高级的部署功能,我想您的里程将有很大的不同。
    3. “选择事件源”-将其设置为“来自电子表格”。
    4. “选择事件类型”-将其设置为“编辑时”。
    5. “故障通知设置”-将此设置为所需的任何设置。最后,单击“保存”按钮。

一旦设置了触发器,只要对电子表格进行编辑,电子表格现在就应该在运行您的方法。

© www.soinside.com 2019 - 2024. All rights reserved.