Google 表格脚本 - onEdit 和 "source"

Google Scripts for Sheets - onEdit and "source"

几天来我一直在努力尝试让脚本正常工作。在最基本的层面上,我的函数包含这个:

function onEdit(e) {

var changedRange = e.source.getActiveRange()

}

根据 Google 的文档,这似乎是完全合法的用途:https://developers.google.com/apps-script/guides/triggers/events

但是此代码会产生此错误:

TypeError: Cannot read property "source" from undefined. (line 18, file "Code")

我也为 onEdit 添加了一个触发器,但这在脚本中仍然不起作用。我错过了什么吗?

我创建了一个新的电子表格,添加了您的代码,并编辑了一个单元格,脚本执行时没有出现错误。但是,正如 JPV 在评论中建议的那样,如果您使用 运行 按钮 运行 脚本编辑器中的代码,它将产生错误。 运行 编辑器中的函数不允许将事件对象“e”传递到函数中。因此,它是 undefined.

最常见的问题是从应用程序编辑器中调试或 运行ning 代码。在这些模式中,您根本没有事件。 但有时当您添加一些需要额外权限的代码时会发生这种情况。您将能够通过以下方式修复它:

  1. 保存您的代码
  2. 以 运行 模式启动所有触发器
  3. 删除触发器并再添加一次(如果仍然不起作用)