脚本可以编辑受保护的范围或工作表吗?

时间:2017-02-07 15:13:33

标签: google-apps-script

我正在使用一个脚本来复制和粘贴一些数据,其中有几个用户填写,未经许可只编辑一行,其他范围受到这些用户的编辑保护。

该脚本将数据从一个工作表复制到另一个工作表,两个工作表都受到完全保护,除了两个可以编辑任何内容的编辑器。当没有人在使用此电子表格时,会在基于时间的触发器上触发相同的脚本。

问题是:脚本能够编辑受保护的工作表或范围吗?

以下是代码(以防万一):

function CopyDaily() {
  var ss = SpreadsheetApp.openById('1olKDp').getSheetByName('Produtos vendidos'); //Seleciona a planilha DE ONDE os dados devem ser copiados
  var sss= SpreadsheetApp.openById('1olKDp').getSheetByName('BD Produtos vendidos'); //Seleciona a planilha PARA ONDE os dados devem ser copiados
  var LastRow1 = SpreadsheetApp.openById('1olKDp').getSheetByName('BD Produtos vendidos').getLastRow() + 1;
  var LastRow2 = SpreadsheetApp.openById('1olKDp').getSheetByName('BD Produtos vendidos').getLastRow() + 6;
  Logger.log(ss.getName());
  ss.getRange('A2:S7').copyTo(sss.getRange('A' + LastRow1 + ':S' + LastRow2), {contentsOnly:true})
}

function addTrigger() {
  var everyDay = ScriptApp.newTrigger("CopyDaily")
  .timeBased() //Define o tipo da trigger: Baseada em hora.
  .everyDays(1) //Frequencia de dias: a cada 1 dia.
  .atHour(12) //Em qual hora: 1 am.
  .create(); //Cria a trigger baseada nos parametros acima.
}

1 个答案:

答案 0 :(得分:1)

这取决于,是的,脚本能够编辑受保护的范围,重要的是谁运行脚本。运行脚本的人员(帐户)必须具有受保护范围的编辑权限。如果运行脚本的帐户对受保护范围没有编辑权限,则代码将引发异常。