工作表重复,但与仅编辑者完全相同的用户可以保护范围吗?

时间:2018-08-29 14:52:29

标签: google-apps-script google-sheets

由于stackoverflow的帮助,Soooo关闭了这一点:)

以下代码基于模板复制工作表,并将保护范围权限从模板工作表复制到新工作表。

但是,权限范围现在在新工作表中,但没有同一用户。

模板工作表只有一个用户可以编辑,但是对于新工作表,虽然限制了相同的范围,但是整个电子表格中的所有用户都可以编辑新工作表。

有人碰巧知道我是否可以使其与模板完全相同吗?而且不像启动脚本的用户,而是与模板相同的用户。这是代码:

function newSheet() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName("New Sheet Template");
  var protections = sheet.getProtections(SpreadsheetApp.ProtectionType.RANGE);
  var dateI = Browser.inputBox('Enter Date: ','(DD/MM/YYYY)', Browser.Buttons.OK_CANCEL);
  var nameSheet= "Sheet - "+dateI
   if (dateI == "cancel" ) {
    }
    else {
      ss.insertSheet(nameSheet, {template: sheet});
      ss.getRange('B4').setValue(dateI);    
      for (var i = 0; i < protections.length; i++) {
        var sheet2 = ss.getSheetByName("Sheet - "+dateI);
        var p = protections[i];
        var rangeNotation = p.getRange().getA1Notation();
        var p2 = sheet2.getRange(rangeNotation).protect();
        p2.setDescription(p.getDescription());
        p2.setWarningOnly(p.isWarningOnly());
    }
    }
}

提前谢谢! :)

0 个答案:

没有答案