【问题标题】:Can a script edit a protected range or sheet?脚本可以编辑受保护的范围或工作表吗?
【发布时间】:2017-02-07 15:13:32
【问题描述】:

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

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

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

这是代码(以防万一):

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.
}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我已在支持页面上阅读过此内容,但起初对我来说没有意义。试过了,效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2018-04-16
    • 1970-01-01
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    相关资源
    最近更新 更多