如何将可变字符串与 getRangeList() 一起用于 Sheet 中的 select 非连续行?

How can I use a variable string with getRangeList() to select noncontinguous rows in a Sheet?

我需要能够创建变量字符串,getRangeList() 将使用这些字符串到 Google Sheet 中的 select 非连续行。每次 运行 时字符串都会不同。它可能一次收集 20 行,下一次收集 4 行(顺便说一下,总是以 2 行为一组)。当我将宏录制到 select 示例行 8 和 9,然后是 14 和 15 时,它给了我这个:

function testMe() {
  var spreadsheet = SpreadsheetApp.getActive();
  spreadsheet.getRangeList(['8:9', '14:15']).activate();
};

运行 这很好--select 四行。我希望这意味着我可以简单地使用脚本创建一个像“'8:9', '14:15'”这样的字符串作为变量并将其嵌入到代码中,如:

function testMe() {
  var spreadsheet = SpreadsheetApp.getActive();
  var myRange = "'8:9', '14:15'";
  spreadsheet.getRangeList([myRange]).activate();
};

这给了我错误“异常:未找到范围。”

我认为问题出在特殊字符上,于是尝试这样做:

function testMe() {
  var spreadsheet = SpreadsheetApp.getActive();
  var myRange = "\'8:9\', \'14:15\'";
  spreadsheet.getRangeList([myRange]).activate();
};

这给了我同样的错误:“异常:未找到范围。”

我想知道问题是否出在圆括号内并尝试了这个:

function testMe() {
  var spreadsheet = SpreadsheetApp.getActive();
  var myRange = "[\'8:9\', \'14:15\']";
  spreadsheet.getRangeList(myRange).activate();
};

我收到此错误:“异常:参数 (String) 与 SpreadsheetApp.Spreadsheet.getRangeList 的方法签名不匹配。”

当我在第一个示例中尝试将括号嵌入字符串时,我遇到了同样的错误——没有特殊字符的斜线,所以:

function testMe() {
  var spreadsheet = SpreadsheetApp.getActive();
  var myRange = "['8:9', '14:15']";
  spreadsheet.getRangeList(myRange).activate();
};

How can I create variable strings that will work with getRangeList() to select non-contiguous pairs of rows?


尝试

function testMe() {
  var spreadsheet = SpreadsheetApp.getActive();
  var myRange = []
  myRange.push("8:9")
  myRange.push("14:15")
  spreadsheet.getRangeList(myRange).activate();
};

myRange 是一个数组