我第一次使用谷歌应用脚本。我从同事(不再与我们合作)中继承了一个google工作表(模板),它在变更时运行一些脚本。我读到的脚本应该是绑定脚本。
当我打开脚本编辑器时,我看到了2个项目。一个是项目早期版本的副本。每个都有一个onOpen()函数。我的问题是表格如何知道要调用哪一个?
为了复制行为,我创建了一个自己的工作表,然后使用脚本编辑器创建了两个项目,每个项目都有onOpen函数。该功能在打开工作表时添加了一些菜单。 我看到两个函数都被触发,因为菜单名称不同。但是,我没有在原始模板中看到相同的行为,似乎只调用了两个脚本中的一个。
我检查是否有任何触发器等,但似乎没有。我也找不到相关的文档。
答案 0 :(得分:0)
它们都与工作表绑定,因为您的测试显示正在调用onOpen(e)。您可以做些什么来了解最后编辑的脚本或一些细节是检查每个脚本的修订历史记录(在每个脚本文件中 - >参见修订历史记录)。
我认为最后一位开发人员没有评论代码,因此他必须手动废弃其中一个
答案 1 :(得分:0)
事实证明,正如我所提到的,两个onOpen函数确实被解雇了。这两个脚本和大量的代码都完全相同,最终效果在工作表上是相同的。很奇怪。
我通过复制工作表来修复它,让我删除其中一个项目而只保留一个。然后我删除了原始表格,并将我的副本作为官方副本(命名为相同)。
如果应用程序脚本选择通过强制显式触发器对特定工作表上的函数进行明确指定,我会更喜欢。