在对象电子表格中找不到功能保护

时间:2019-05-15 06:05:44

标签: google-apps-script

我已经做了一个Google脚本功能来为具有相同页面的多个不同电子表格更新一个特定页面。因此,该功能(从主电子表格中)获取要更改的工作表的名称和位置,然后循环浏览其他每个电子表格,并将旧的指定工作表替换为新的指定工作表。我的问题是,某些床单需要保护,但是当替换它们时,便会失去保护。

我尝试使用sheet.protect(),但收到“ TypeError:在对象Spreadsheet中找不到函数保护”。我不知道为什么在Google文档中使用类似的代码。我也尝试使用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
    }
  }
}

它应该在学校[i] [1]中链接的电子表格中的位置pagePos处输出名称为pageName的新受保护工作表。它输出此内容,但不受保护。

0 个答案:

没有答案