当前位置: 首页 > 知识库问答 >
问题:

通过Google脚本启用Google工作表保护

凌黎明
2023-03-14

我一直在寻找一个工作表保护问题的解决方案,我有一个工作表,其中包括从顶部的一些字段将数据写入下面的工作表的自动脚本。我希望用户能够在顶部的字段中提供数据,然后运行脚本添加下面的数据。如果启用了保护,则用于添加数据的脚本对工作表的所有者来说可以正常工作,但对于任何具有编辑权限的用户来说都无法正常工作,因为脚本无法清除将数据写入工作表底部的保护。

https://developers.googleblog.com/2015/02/control-protected-ranges-and-sheets-in.html

几年前,我从谷歌的一篇博客文章中找到了这段代码,并尝试了一些变化,但没有成功......这种方法在谷歌表格和谷歌脚本中是不可能的吗?

共有1个答案

沈华皓
2023-03-14

不幸的是,如果不使用变通方法,当前无法以所有者身份运行绑定脚本。脚本只能在使用触发器或创建独立脚本Web应用程序时作为所有者运行。有关更多信息,请参见此。

这应该避免在脚本保护范围内胡闹!

有一种方法可以绕过这个问题,即创建一个web应用程序,使绑定脚本与在电子表格上运行的web应用程序对话。有关更多信息,请参阅此答案。

所以这个过程看起来是这样的:用户单击一个按钮,在绑定脚本上运行一个函数。此函数对可以作为脚本创建人运行函数的web应用程序进行web调用。

我还建议您注意Augustine C的评论:

...你也可能会发现在你的电子表格中保存一个共享密钥,然后使用后端webapp脚本进行验证,或者验证电子邮件的接收者实际上也是你的谷歌表格的编辑器,这是很有帮助的。

 类似资料:
  • 有人能帮我把脚本布局转换成实际的功能代码吗?我有一般的编码知识,但我不知道正确的语法。 基本上,我需要的是一个脚本,当提交表单条目时,它会在所有工作表/选项卡之间循环。表单包含提交表单的人的姓名(字符串)、开始日期、结束日期,最后是注释字段(字符串)。 我需要脚本来遍历每个工作表的第5行,并查找在第一个表单字段中输入的字符串(提交表单的人的姓名)。如果它找到了该名称,它应该将与该名称对应的列保存到

  • 我可以问一下,我如何通过脚本添加编辑器到受保护的工作表和范围中的权限?我尝试使用,它需要枚举所有的电子邮件地址,对吗?但是,有没有一个简单的或另一个方法让我做到这一点呢?如果没有别的办法,我有90张纸要一张一张修改。每个文件的电子邮件地址不相同。 我正在考虑在Google Drive中自动获得与人和组共享选项中的所有编辑器。这有可能做到吗?

  • 我正在为谷歌表发送数据到服务器的脚本。目标Google Sheets文档有几个工作表。每个工作表必须有自己的菜单。所以我已经搜索了当活动表更改时触发的任何触发器,但我不能。 如何获取工作表切换事件? 谢谢你:) 使现代化我有这个功能: 但我想用函数替换onOpen,该函数将由激活工作表时触发的某个事件调用。 更新2. 我根据@Cooper的回答应用更改。现在,onOpen仍然可以正常工作,但是on

  • 我正在使用谷歌表单来触发这个脚本。 当我用播放按钮运行脚本时,它工作得很好。 当我让提交触发器运行它时,复选框填充正常,但setValue日期没有。 我也试过了但是我得到了相同的结果。 最终目标是让J列在每次提交表单时填充A列中的快照格式日期 我需要此格式在另一张工作表上运行countIfs。 另一种选择是以某种方式将格式标记嵌入到CountIfs命令中,以便它们匹配。

  • 我使用谷歌脚本生成了一个结构相同但内容不同的表单列表。我想收集每个表单的回复,并将它们合并成一个单独的谷歌表单。有什么方法可以在google脚本中这样做吗?