Google apps script 重复工作表,但保持受保护范围,用户与唯一编辑器完全相同?

Google apps script 重复工作表,但保持受保护范围,用户与唯一编辑器完全相同?,google-apps-script,google-sheets,Google Apps Script,Google Sheets,由于stackoverflow的帮助,这一点非常接近:) 以下代码基于模板复制工作表,并将模板工作表的权限复制到新工作表的受保护范围 但是,权限范围现在位于新工作表中,但不在同一用户中 模板工作表只有一个用户可以编辑,但对于新工作表,虽然限制了相同的范围,但整个电子表格中的所有用户都可以编辑新工作表 有人知道我是否可以让它成为与模板完全相同的用户吗?并且与启动脚本的用户不同,只是与模板的用户相同。代码如下: function newSheet() { var ss = Spreadsheet

由于stackoverflow的帮助,这一点非常接近:)

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

但是,权限范围现在位于新工作表中,但不在同一用户中

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

有人知道我是否可以让它成为与模板完全相同的用户吗?并且与启动脚本的用户不同,只是与模板的用户相同。代码如下:

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());
    }
    }
}
function新闻单(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName(“新工作表模板”);
var保护=sheet.getProtections(电子表格app.ProtectionType.RANGE);
var dateI=Browser.inputBox('Enter Date:','(DD/MM/YYYY'),Browser.Buttons.OK\u CANCEL);
var nameSheet=“工作表-”+dateI
如果(日期i==“取消”){
}
否则{
ss.insertSheet(名称表,{template:sheet});
ss.getRange('B4').setValue(日期i);
对于(变量i=0;i<0.length;i++){
var sheet2=ss.getSheetByName(“Sheet-”+dateI);
var p=保护[i];
var rangeNotation=p.getRange().getA1Notation();
var p2=sheet2.getRange(rangeNotation.protect();
p2.setDescription(p.getDescription());
p2.仅设置警告(p.isWarningOnly());
}
}
}

提前感谢!:)

这里的代码看起来至少有一个
SyntaxError
,位于“
original
”附近。请确保您在问题中有正确答案。已修复抱歉