繁体   English   中英

Google表格工作表保护

Google Sheets Sheet Protection

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我有一个包含多个工作表的电子表格。 我已将此电子表格与多个用户共享,我需要保护工作表,以便某些用户只能查看和编辑此电子表格的一个工作表。 如下:

  • 用户1(一位位置经理)需要查看和修改工作表1(该位置的工资单)

  • 用户2(另一个位置经理)需要查看和编辑工作表2(该位置的工资单),但不能查看和编辑工作表1

  • 用户3(区域管理员)需要查看和编辑工作表1和工作表2,但不能查看和编辑工作表3和4。

  • 用户4(区域经理)需要能够查看和编辑表格1、2、3和4。

Google表格仅提供了防止编辑的保护,但是我想知道是否有任何第三方应用程序,脚本或变通办法允许此保护功能防止查看?

3 个回复

简短答案=否。如果您无法通过API或脚本找到此方法,则第三方将无法提供此方法(他们可以访问与我们相同的API)。

稍长的解决方案:您可以创建一个包含所有这些数据的主电子表格,然后再创建4个其他电子表格(每个用户一个),以将数据从正确的工作表中提取到其个人电子表格中。

对于稍长的解决方案,您正在查看特定用户电子表格中的“ onOpen”触发器 ,因此当他们打开电子表格时,它将正确的工作表从主电子表格复制到他们刚刚打开的电子表格中。 openByID ”(允许您获取另一个电子表格)和“ copyTo ”(将另一个电子表格复制到当前电子表格)等方法是您的朋友。

一个非常非常简单的版本可能是:

var ss = SpreadsheetApp.openById("ID-FOR-MASTER-SHEET");
var sheet = ss.getSheets()
var destination = SpreadsheetApp.openById("ID-FOR-USERS-SHEET");
sheet[0].copyTo(destination);

否则,如果您有权访问Google Spreadsheet,则始终可以查看其中的所有工作表。

理念

将选项卡拆分为单独的工作表。 创建一个文件夹并将所有文档放入其中。 仅与需要它的所有者共享每个工作表,然后与区域经理共享该文件夹。

奖金

尝试importrange命令。

您可以执行以下操作:= IMPORTRANGE(A1,A2)

  • A1 =工作表网址
  • A2 = Tab!Range,即Store1!A1:Q500

使用它可以创建一个主表,该表从所有单个存储中提取数据,从而可以为区域管理器提供简单的快照。 您甚至可以镜像原始的标签结构。

评论单独的工作簿体系结构和ImportRange

我警告不要将应用程序拆分为单独的工作簿。 使用ImportRange()要求您将共享权限设置为“具有链接的任何人”,而不是更安全的“仅特定用户”。

由于这个安全问题,我只是将费用授权应用程序从单独的(六个)工作簿重新架构为一个主工作簿。

替代方案:内容服务

在我的应用程序中,我使用Content Service进行只有数据库所有者才能执行的编辑操作。 授权用户只能编辑特定工作表中的特定范围。 然后,为了魔术,他们使用作为数据库所有者运行的内容服务执行宏。

控制观看

可以想象,您可以对工作簿进行编程,以根据用户的身份隐藏工作表。 这要求他们自己进行身份验证(例如,您不能在onOpen()上进行身份验证。问题是当您让协作者同时查看工作簿时。看看工作表如何处理同一文档的并发视图会很有趣。 ,我敢打赌它会起作用。

1 如何隐藏标签并在多个工作表中保护它们(Google 表格)

我正在使用当前功能(触发我的菜单按钮)来隐藏一系列列。 我想添加一些脚本来保护这个隐藏范围(这样只有所有者才能编辑)。 我的问题是,如何将保护元素添加到此功能并强制该功能运行除X, Y, Z等之外的所有选项卡......我一直试图让它工作几个小时,但不能完全似乎破解它。 ...

2 用于创建受保护的新工作表的脚本(Google表格)

我已经有一个按钮脚本,该脚本可以保存并创建保存版本的新表。 目的是修改收银员工作表并创建带有日期和收银员姓名的副本。 该脚本唯一缺少的部分是,每次创建工作表的新版本时,都会对其进行保护。 例如,在图片上,第一张纸被称为Auberge,它是我们修改的那张纸。 现在,我希望在我 ...

4 如何保护Google电子表格所有工作表选项?

我已经建立了一个在线Google电子表格。 该电子表格每天访问6个人。 我在电子表格中做了5张Meals , Marketing , Contribution , Cakculator和Notes 我想保护这些表免受其他用户的侵害。 我给了有限的空间来保护我的数据。 我已经做到 ...

5 保护单元格/范围/工作表但允许在 Google 表格中调整列大小?

我正在开发一个谷歌应用程序脚本项目,其中脚本锁定标题行,因此用户无法更改它。 但是,这会阻止用户更改任何列宽,因为这需要编辑受保护的范围。 我希望能够阻止用户编辑标题行中的内容,但允许他们调整列的大小。 在可以编写脚本之前,我似乎无法弄清楚这将如何与基本的 Google 表格功能一起使用。 是否有 ...

7 Google电子表格脚本-保护工作表的权限

我有以下电子表格: -模板(受保护) -当前工作表 -旧纸(受保护) -甚至较旧的表(受保护的) 该电子表格与一些用户共享,他们在“当前工作表”中具有写权限。 一旦完成,我在“当前工作表”中创建了一个按钮,并为其分配了脚本。 以所有者身份运行时,脚本: ...

8 Google 表格:通过受保护的工作表和范围中的脚本添加编辑器

请问如何通过脚本将编辑器添加到受保护的工作表和范围中的权限? 我尝试使用protection.addEditors(); 它需要枚举所有电子邮件地址,对吗? 但是,有没有一种简单的方法或另一种方法可以让我做到这一点? 如果没有其他办法,我有90张一张一张地修改。 每个文件的电子邮件地址都不相同。 ...

9 将工作表插入Google表格

我正在尝试使用浏览器中的Java脚本在现有的Google表格中插入新工作表并将其命名。 当在Google的OAuth Playground中使用Spreadsheets V3 API尝试插入工作表(通过“插入工作表”操作)时,出现错误415:“ Content-Type applicati ...

10 Google 工作表 - 除小范围外保护工作表

我的担忧很简单:我想保护整个工作表,除了 1 个单元格,这是一个下拉菜单。 我希望他们能够更改该值,但会妨碍工作表其余部分的版本。 基本上我需要相反的保护选项。 保护工作表并取消保护特定范围(在本例中为 1 个单元格) 谢谢 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM