Optimization 是否可以在Google Apps脚本中批处理范围保护?

Optimization 是否可以在Google Apps脚本中批处理范围保护?,optimization,google-apps-script,Optimization,Google Apps Script,我必须在一张表中创建十几个受保护的范围。我有一些代码可以工作,但速度非常慢,因为它会联系每个范围的服务器。我知道,如果涉及到一些单元格处理,可以处理数据的本地副本。是否也可以进行射程保护 如果不是,缓存会有帮助吗 下面的代码使用第一行中的用户名作为同一列中一组行的编辑器 var spreadSheet=SpreadsheetApp.getActiveSpreadsheet(); var sheets=电子表格.getSheets(); //设置每列的保护,我们从第4列开始。 对于(var i=4

我必须在一张表中创建十几个受保护的范围。我有一些代码可以工作,但速度非常慢,因为它会联系每个范围的服务器。我知道,如果涉及到一些单元格处理,可以处理数据的本地副本。是否也可以进行射程保护

如果不是,缓存会有帮助吗

下面的代码使用第一行中的用户名作为同一列中一组行的编辑器

var spreadSheet=SpreadsheetApp.getActiveSpreadsheet();
var sheets=电子表格.getSheets();
//设置每列的保护,我们从第4列开始。

对于(var i=4;i方法
getRange()
的语法为,而您的计数器变量
i
在列而不是行中循环

如果您的目的是循环遍历所有列,并为每个列添加一个编辑器,那么应该是

for (var i = 4; i <= sheets[3].getLastColumn(); i++){
    ///Get the username.
    var editor = sheets[3].getRange(1, i).getDisplayValue();

    //Set the protection.
    var protection = sheets[3].getRange(startRow, i, rowNumber, columnNumber).protect();
    protection.setDescription(editor);

    //Handle the case of deleted/unknown usernames.
    try{
      protection.addEditor(editor + '@domain.com');
    } catch(error){
      protection.addEditor('user@domain.com');
    }
  }

for(var i=4;i可以进行批处理


但是您必须使用。请查看和。

您是对的,我最终得到了这个,但一开始太关注性能差而没有注意到这一点。无论如何,谢谢。