Не удается найти функцию защиты в электронной таблице объектов - PullRequest
0 голосов
/ 15 мая 2019

Я сделал функцию скрипта Google для обновления определенной страницы для нескольких различных электронных таблиц с идентичными страницами. Таким образом, функция берет имя и положение листа, который нужно изменить (из основной электронной таблицы), а затем перебирает все другие электронные таблицы и заменяет старый указанный лист новым указанным. Моя проблема в том, что некоторые листы должны быть защищены, но при их замене снимается защита.

Я пытался использовать sheet.protect (), но получаю «TypeError: Не удается найти функцию защиты в объекте Spreadsheet». Я не знаю, почему, так как в Google Docs я использую подобный код. Я также пытался использовать getProtections (), но он также не смог найти функцию.

function updatePage(pageName, pagePos) {
  var source = SpreadsheetApp.getActiveSpreadsheet();
  var sheetToUp = source.getSheetByName(pageName);

  for (i=0; i < schools.length; i++) {
  //schools[i][1] provides the link to the spreadsheet
    if(schools[i][1] != 0) {
      sheet = SpreadsheetApp.openById(schools[i][1]);
      sheetToUp.copyTo(sheet);

      sheet.deleteSheet(sheet.getSheetByName(pageName));

      sheet.setActiveSheet(sheet.getSheetByName("Copy of " + pageName));
      sheet.renameActiveSheet(pageName);
      sheet.setActiveSheet(sheet.getSheetByName(pageName));
      sheet.moveActiveSheet(pagePos);
      var protection = sheet.protect(); //problem
    }
  }
}

Он должен вывести новый защищенный лист с именем pageName в позиции pagePos в электронной таблице, связанной в school [i] [1]. Это выводит это, но его незащищенный.

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