如何优化Google表格脚本选择和创建命名范围?

时间:2017-08-25 02:11:43

标签: javascript google-sheets spreadsheet google-sheets-api named-ranges

我正在处理一段代码,以按照" offset"中的值分组的已排序Google表格中创建行的命名范围。每行的列。我正在寻找一种更有效的方法来选择这些范围。以下是我目前的建议,感谢任何建议!

  function nameRanges (input, sheet, ss, offset){
 var maxrows = sheet.getMaxRows()
 var numRows = input.getNumRows();
 sheet.deleteRows(numRows+1, maxrows-numRows);
 var sheetname = sheet.getName()
 var numCol = input.getNumColumns();

 for (var j = 2, x=2, y=3; i <=numRows -1, j <=numRows, x <=numRows ; x++, y++){ 
   var jvalue = sheet.getRange(j,offset).getValue();
   var xvalue = sheet.getRange(x,offset).getValue();
   var yvalue = sheet.getRange(y,offset).getValue();
   var start = j

     if (xvalue != yvalue){
                var rangesize = sheet.getRange(j, 1, (y-j) , numCol);
       Logger.log("New NamedRange "+sheetname + jvalue +" created from "+ start + " to " +y);
       ss.setNamedRange (sheetname + jvalue, rangesize);
       rangesize.setBorder(true, true, true, true, false, false, "black", SpreadsheetApp.BorderStyle.SOLID)
      j=y
     }}
  }

1 个答案:

答案 0 :(得分:1)

我建议你不要在for循环中声明你的变量。一开始就在外面宣布它们。应用程序脚本还有几个Best practices,这里发布的时间太长了。