如何使用电子表格的Google脚本为所有人设置保护?

时间:2020-01-16 08:48:49

标签: google-apps-script edit spreadsheet protection

我正在创建一个复制粘贴表格的脚本。复制的工作表将受到所有人的保护(所有者除外)。当用户单击按钮时,脚本运行并复制并粘贴我的主表,该脚本为除他本人和我(所有者)之外的所有用户设置了保护。 这是脚本的一部分,因此您可以了解:

function protect(){
  var s = SpreadsheetApp.getActive();
  var copy = s.getSheetByName('BEI-').copyTo(s);
  var newsheet = copy.setName(NouvDem);
  var SheetToProtect=s.getSheetByName(NouvDem).activate();
  SheetToProtect.protect();
  var AllProtections = SheetToProtect.getProtections(SpreadsheetApp.ProtectionType.SHEET);
  var MyProtection = AllProtections[0];
  var Users = MyProtection.getEditors();
  MyProtection.removeEditors(Users);
}

如何保护新工作表不受自身影响(因此他只能使用脚本来修改工作表)?

谢谢! :)

1 个答案:

答案 0 :(得分:1)

不可能

用户制作工作表的副本时,他将成为该副本的所有者,因此他不能限制自己进行编辑。此外,用户无法保护自己的范围。

最接近的解决方案是设置Warning,但这仅显示一个可跳过的弹出窗口,询问用户是否确定要编辑该范围。

但是,您可以自己创建副本并与用户共享,然后限制他们可以访问的范围。

相关问题