Дублировать лист, но сохранить защищенный диапазон с точно таким же пользователем, как только редактор? - PullRequest
0 голосов
/ 29 августа 2018

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());
    }
    }
}

Заранее спасибо! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...