【发布时间】:2015-10-07 21:10:08
【问题描述】:
我正在尝试永久锁定/保护 14 张不同工作表上的某些单元格(其中 1 张对公式内容的工作人员隐藏)。我将它们全部锁定,如果我将它们作为编辑器添加到其中,则没有人可以编辑。但它是模板,我为员工为每个客户(和新客户)制作副本。在工作表上工作的员工和员工只能为他们所做的工作编辑某些单元格。
问题是,如果我有 Workbook1,其中 X 单元格锁定在不同的工作表上,请复制一份,将其重命名为 Workbook - Client#ID,然后将他们添加为将在此客户端上工作的员工 John 和 Jane,作为编辑;他们现在可以编辑每个单元格,包括受保护的单元格(它们也被添加为受保护单元格的编辑器)。它不会在原件上这样做,它只会发生在由模板制作的副本上。然后我必须检查所有 13 张纸并将它们从受保护的单元格中删除。
我正在尝试使用我想稍后变成按钮或其他东西的脚本插件自动快速删除它们......
或者有没有更好的方法来修复这个错误?
Google 有一个删除用户并保持工作表保护的示例,我尝试添加我需要使其工作的内容,但是当我将测试作为电子表格的附加组件运行时,它没有做任何事情。我从我的电子表格中打开一个新的应用脚本项目并输入示例code from google
// Protect the active sheet, then remove all other users from the list of editors.
var sheet = SpreadsheetApp.setActiveSheet(January);
var protection = sheet.protect().setDescription('Activity Log');
var unprotected = sheet.getRange('A2:N7');
protection.setUnprotectedRanges([unprotected]);
// Ensure the current user is an editor before removing others. Otherwise, if the user's edit
// permission comes from a group, the script will throw an exception upon removing the group.
var me = Session.getEffectiveUser();
protection.addEditor(me);
protection.removeEditors(protection.getEditors());
if (protection.canDomainEdit()) {
protection.setDomainEdit(false);
}
【问题讨论】:
-
它没有说在任何地方给我代码。我正在展示一些尝试使用谷歌所拥有的小文档。他们的支持字面意思是来这里寻求帮助,所以不要粗鲁。我正在努力让它自己工作并同时寻求帮助;也许你没有看到我在编辑。谷歌拥有最糟糕的文档;它只是这里的一个例子和 1 班轮作为解释。请原谅我试图在谷歌所说的地方获得帮助。
-
对不起,你觉得我很粗鲁;不打算。我指出了与这个问题相关的元帖子。我看到你的编辑;而且在提供赏金之前没有代码,直到 2 小时前没有任何努力的证据。您已收到先前的答复,但仅在 1 小时前才确认,此时您的第一条评论似乎提供了更具体的代码规范。你应该改进你的问题,而不是增加赏金。你的问题还是太笼统了。您没有明确、具体的问题陈述。 (Ref)
标签: google-apps-script google-sheets google-docs