Google Scripts for Sheets - onEdit和“source”

时间:2015-01-19 18:39:25

标签: google-apps-script google-sheets

我现在一直在努力争取一个脚本工作几天。在最基本的层面上,我的功能包含:

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添加了一个触发器,但这仍然无法在脚本中运行。我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

最常见的问题是从应用编辑器调试或运行代码。在这些模式中,您根本没有事件。 但有时它会在您添加需要其他权限的代码时发生。您将能够以下一种方式解决它:

  1. 保存代码
  2. 以运行模式启动所有触发器
  3. 移除您的触发器并再次添加它们(如果仍然无效)