创建副本时维护Google工作表权限的最佳方式



每个月我都会创建一个谷歌工作表文件的副本。它有相当多的工作表具有受权限保护的公式字段。问题是,当创建副本时,只有所有者才能编辑受保护的字段,如果我想添加其他字段,则需要相当长的时间。有两种可能的解决方案依赖于同一个人的文件/复制/共享,但如果我想添加其他人,则需要相当长的时间。

  1. 保护整个工作表,然后我对每个工作表只有一个权限,因为它允许排除多个范围。添加额外的范围和人员是很容易的。不确定我是否在保护整张纸时遇到了一些问题
  2. 仅保护单元格,是否有方法将它们分组或向一个权限添加多个范围

是否有更好的方法来维护人员并将其添加到多个权限?感谢

您需要创建一个脚本来获取受保护范围的数组,并将相同的受保护范围复制到新的工作表中。

function duplicateSheetWithProtections() {
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
sheet = ss.getSheetByName('original');
sheet2 = sheet.copyTo(ss).setName('copy'); 
var protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE);
for (var i = 0; i < protections.length; i++) {
var p = protections[i];
var rangeNotation = p.getRange().getA1Notation();
var p2 = sheet2.getRange(rangeNotation).protect();
p2.setDescription(p.getDescription());
p2.setWarningOnly(p.isWarningOnly());
if (!p.isWarningOnly()) {
p2.removeEditors(p2.getEditors());
p2.addEditors(p.getEditors());
}
}
} 

你可以在谷歌的文档上查看更多信息

相关内容

  • 没有找到相关文章

最新更新