电子表格编辑器从库运行脚本的能力



我将为100所不同的学校维护Google电子表格。 每所学校的电子表格将具有类似的功能(例如,根据日期跳转到某个单元格或根据输入的文本在某个单元格中创建注释),并且多个人将有权对其进行编辑(例如,校长、教师、教练等)。 我想为此目的创建库是最容易的,因为每个电子表格的功能都是相同的! 例如,每个文档的脚本文件使用 onOpen() 事件调用 .addMenu() 。 然后.addMenu调用一个包装器函数,这个函数调用我的库中的"jumpToToday"方法。 (我看到了关于库方法不能直接从菜单中调用的帖子,所以这就是我这样做的原因)。 我有两个问题:

  1. 当我(所有者)与编辑器共享电子表格时,会显示菜单,但是当编辑器选择其中一个菜单选项时,脚本会返回错误:

    您无权访问脚本使用的库ExternalSupport,或者它已被删除。

    看到这个后,我与电子表格编辑器共享了库文件(可以查看),然后它就可以工作了。 我是否必须与电子表格的所有编辑者共享库(仅查看),以便他们可以运行函数? 如果是这样,那很好(我只是想避免它,因为大多数校长/老师/教练都不是技术人员,所以我不想通过共享代码文件来混淆他们......我只是希望他们使用电子表格)。

  2. 由于电子表格的编辑者只能查看库,因此他们似乎只能访问所选版本(即使开发模式已打开)。

当我将库更新到另一个版本时,是否必须进入所有 100 个电子表格的脚本编辑器,然后转到资源>管理库并更新版本? 或者有没有办法让所有文件都使用最新版本的库?

1) 是的。根据文档

必须至少为所有潜在用户授予对项目的读取级别访问权限。

我同意这可能会让其他用户感到困惑,但目前这是必要的。

2) 无法使文件使用最新版本的库。但是,有一种方法可以使文件使用库的开发版本。为此,您需要向用户授予对库的编辑级别访问权限。但是,请记住,您对库所做的任何更改都将立即反映在用户端。您可以在文档中找到更多信息。

最新更新