我已阅读有关管理和创建库的所有 Google 文档,但我仍然不知道它们是否适合我要解决的问题。
我知道如何保存独立脚本的版本。我知道如何通过脚本编辑器将库添加到电子表格中。但我不明白,非常简单,如何在新电子表格中触发库脚本。
我有一个电子表格,用作我的组织内经常复制的模板。该模板包含一个脚本,该脚本 (onOpen) 访问单独电子表格(主数据库)上的数据,并在名为“admin”的选项卡上设置这些值。期望的结果是在模板表(以及模板表的每个后续副本)中存在主数据库的副本。此时,模板表有数千个副本,每个副本都运行相同的脚本。
每当我要更改脚本时,我都必须在数千张内更改它。我可以使用图书馆吗?我希望能够在库中创建脚本的新版本,并使连接到该库的所有工作表都经历更改。我知道库需要处于开发模式(在每个工作表内)才能执行此操作。我还了解到,为了进行此切换,我可能仍然需要进入每个工作表来添加库。我只是希望这是我最后一次不得不做如此乏味的任务。
任何建议或可靠信息的链接都值得赞赏。
最佳答案
除了制作附加组件(已在另一个答案中介绍)之外,我还将回答您的图书馆问题。他们将为你工作。您缺少的是“连接”部分。
为此,您希望从 onOpen 中触发库代码。库中的 onOpen 不够,应用程序脚本未检测到。相反,每个电子表格的脚本都需要一个 onOpen(e),它只调用 yourlibrary.onOpen(e)。
因为这些“hook”调用很少改变,特别是一旦你稳定了你的库 API,并且在“开发”模式下使用它将让你只修改库。
每当这些 Hook 之一需要更改(例如,来自 html GUI 的回调需要新参数)时,您就需要更新所有电子表格。为了避免这种情况,请让所有回调接收单个 json 对象而不是多个参数。
关于google-apps-script - 使用 Google Apps 脚本库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44784024/