【问题标题】:How to optimize script selecting and creating Named Ranges?如何优化脚本选择和创建命名范围?
【发布时间】:2017-08-25 02:11:42
【问题描述】:

我正在编写一段代码,以在已排序的 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;
    }
  }
}

【问题讨论】:

    标签: google-apps-script google-sheets google-sheets-api named-ranges


    【解决方案1】:

    我建议你不要在 for 循环中声明你的变量。一开始就在外面声明它们。还有几个 Best practices 用于 Apps 脚本,它们太长了,无法在此处发布。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多