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