应用程序脚本 - 获取多个选定的行

appscript - get multiple selected rows

如果我在 google sheet 中标记 select 5 行。我想检索一组检索到的行。特别是第 (0) 列。

function selectRow() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var rowIndex = sheet.getCurrentCell().getRow();
  var rowValues = sheet.getRange(rowIndex, 1, 1, sheet.getLastColumn()).getValues()[0];
  return rowValues;
}

但是,如果我 select 多个,如何检索所有 selected 行?

编辑:

单个活动范围

function getData() {
  Logger.log(JSON.stringify(SpreadsheetApp.getActiveRange().getValues()))
}

多个非重叠选择

function getData() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  let a = sh.getActiveRangeList().getRanges().map(r => r.getValues());
  Logger.log(JSON.stringify(a));
}

回答你的问题

function getData() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getActiveSheet();
  let a = sh.getActiveRangeList().getRanges().map(r => sh.getRange(r.getRow(),1,r.getHeight(),sh.getLastColumn()).getValues());
  Logger.log(JSON.stringify(a));
}