我可以在 Google 表格中使用脚本或参考附加组件的功能吗?

Posted

技术标签:

【中文标题】我可以在 Google 表格中使用脚本或参考附加组件的功能吗?【英文标题】:Can I use scripts alongside or in reference to an Add-on's functions in Google Sheet? 【发布时间】:2021-05-13 12:11:30 【问题描述】:

我创建了一个 Google 表格,我在其中使用了Autocrat Add-on。我创建了一个脚本,它可以采取我希望由 onFormSubmit() 触发的进一步操作。

我注意到,如果我在脚本编辑器中运行脚本,它可以正常执行并在电子表格上执行我希望它成功执行的操作。但是,当我在表单上提交新条目时,它不会运行脚本 - 无论 Autocrat 是否配置为对 onFormSubmit() 执行操作。 (此功能是最近几天由插件作者重新添加的)。

这是一个由两部分组成的问题:

1 - 有没有办法让脚本在插件完成它的事情之后(或之前,在我的情况下无关紧要)执行?

(Autocrat 开发人员尚未在 GitHub 上发布该插件的代码,因此我只能推测其中发生了什么。)

2 - 有没有办法让我使用不同工作表中的脚本来触发插件的功能? Autocrat 有一个“运行合并”功能,可以通过在工作表界面中按一个按钮来访问。我希望能够从不同工作表中的用户事件触发它。

我的直觉是,这两个问题的答案都是“等待开发人员发布他们的代码”,但想看看有没有更多经验的人有其他想法。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

1 - 有没有办法让脚本在插件完成它的事情之后(或之前,在我的情况下无关紧要)执行?

您无法协调插件和您自己的脚本的操作。附加组件可以提供自定义功能(带有@customfunction jsdoc 标签),这些功能可用于已启用附加组件的工作表,但附加组件的命名空间会被锁定。您自己附加的脚本看不到它的任何符号。

2 - 有没有办法让我使用不同工作表中的脚本来触发插件的功能? Autocrat 有一个“运行合并”功能,可以通过在工作表界面中按一个按钮来访问。我希望能够从不同工作表中的用户事件触发它。

除了新的installable triggers,附加组件中没有提供自主或“远程控制”功能。 (例如,如果允许,插件可以为您的文档运行 Web 服务,该服务可以响应远程控制操作。)

至于在工作表上有一个单独的脚本“按下按钮”,抱歉。没有 API 可以在该级别操作 UI,从安全角度来看,这是有道理的。


现在,说了这么多,您的提交触发器应该运行了。该名称并不神奇,您需要确保已安装它。 (资源 > 当前项目的触发器...)

【讨论】:

感谢您的回复。看起来我需要自己重建 Autocrat 的功能。您的最后一个提示也很好 - 我一直在查看 All Your Triggers 列表而不是 Current Project Triggers 列表。

以上是关于我可以在 Google 表格中使用脚本或参考附加组件的功能吗?的主要内容,如果未能解决你的问题,请参考以下文章

Google Apps 脚本按钮:我可以分配一个未附加到工作表的“全局”脚本吗?

有没有办法在仅附加模式下使用 Google Apps 脚本将数据从 BigQuery 加载到 Google 表格?

尝试使用Google表格脚本将表格图表插入到电子邮件草稿中

Google 表格脚本中的 Javascript:帮助使用 setNumberFormat

将新的 Google 表格数据附加到 BigQuery 表中

是否可以使用 Apps 脚本运行 Google 表格插件?