我正在编写电子表格的脚本。该脚本创建一个菜单。 然后通过在此菜单中选择一个选项,将运行一个函数(使用API)以过滤某些列并隐藏其他列。
问题是:
此工作表受到保护(因为与同事共享)但我想允许人们运行脚本,这在未经许可的情况下是不可能的。
我已经看过不同的解决方案:
使用触发器:不起作用,因为触发器无法正确调用使用API的函数(是的,我的函数使用API)。
Web App:从电子表格运行脚本时,脚本将作为当前用户运行,而不是脚本编辑器。 (如果用户使用HTML页面,则Web应用程序效率很高。)
删除保护 - >运行功能 - >重新添加保护:未经许可不能修改保护,这是合乎逻辑的。
在列表编辑器中添加当前用户 - >运行功能 - >从列表编辑器中删除当前用户:无法在未经许可的情况下修改编辑器列表,这是合乎逻辑的。
我该如何解决这个问题?
答案 0 :(得分:0)
这是我没有看到好的解决方法的痛苦。 Google应该知道,在协作环境中,所有者可以创建脚本并希望用户能够运行这些脚本,同时又不弄乱您想要保护的公式或单元格。我发现可以在工作表本身上解决此问题的唯一方法是先取消保护,然后再保护在脚本运行期间要对其进行修改的单元格或范围。请注意,如果脚本在中间失败(取消保护后),则该单元将保持不受保护的状态。可能希望在“ try”脚本中运行。
答案 1 :(得分:-1)
您是电子表格所有者吗? 如果不是,则无权限制应用程序脚本。 但您可以复制电子表格并将其保存在驱动器中。
如果电子表格是由您自己创建的,也许您是通过其他用户名创建的。如果是,请由该用户登录并更改共享选项以允许特定用户编辑它。