Soooo близко к этому, благодаря stackoverflow help:)
Следующий код дублирует лист на основе шаблона и копирует разрешения защищенного диапазона из листа шаблона на новый лист.
Однако диапазон разрешений теперь есть на новом листе, но не у того же пользователя.
Шаблонный лист может редактировать только один пользователь, но для нового листа, хотя тот же диапазон ограничен, все пользователи из всей электронной таблицы могут редактировать новый лист.
Кто-нибудь случайно знает, могу ли я сделать так, чтобы он был точно таким же пользователем, как шаблон? И не как пользователь, который запускает скрипт, а только тот же пользователь, что и шаблон. Вот код:
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());
}
}
}
Заранее спасибо! :)