如何允许在受保护的工作表上运行谷歌脚本(在电子表格中)[无法使用触发器和网络应用程序]

时间:2018-03-09 18:01:30

标签: google-apps-script google-sheets permissions filtering protected

我正在编写电子表格的脚本。该脚本创建一个菜单。 然后通过在此菜单中选择一个选项,将运行一个函数(使用API​​)以过滤某些列并隐藏其他列。

问题是:

此工作表受到保护(因为与同事共享)但我想允许人们运行脚本,这在未经许可的情况下是不可能的。

我已经看过不同的解决方案:

  • 使用触发器:不起作用,因为触发器无法正确调用使用API​​的函数(是的,我的函数使用API​​)。

  • Web App:从电子表格运行脚本时,脚本将作为当前用户运行,而不是脚本编辑器。 (如果用户使用HTML页面,则Web应用程序效率很高。)

  • 删除保护 - >运行功能 - >重新添加保护:未经许可不能修改保护,这是合乎逻辑的。

  • 在列表编辑器中添加当前用户 - >运行功能 - >从列表编辑器中删除当前用户:无法在未经许可的情况下修改编辑器列表,这是合乎逻辑的。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

这是我没有看到好的解决方法的痛苦。 Google应该知道,在协作环境中,所有者可以创建脚本并希望用户能够运行这些脚本,同时又不弄乱您想要保护的公式或单元格。我发现可以在工作表本身上解决此问题的唯一方法是先取消保护,然后再保护在脚本运行期间要对其进行修改的单元格或范围。请注意,如果脚本在中间失败(取消保护后),则该单元将保持不受保护的状态。可能希望在“ try”脚本中运行。

答案 1 :(得分:-1)

您是电子表格所有者吗? 如果不是,则无权限制应用程序脚本。 但您可以复制电子表格并将其保存在驱动器中。

如果电子表格是由您自己创建的,也许您是通过其他用户名创建的。如果是,请由该用户登录并更改共享选项以允许特定用户编辑它。