为什么不匹配 SpreadsheetApp.Sheet.getRange 的方法签名

why don't match the method signature for SpreadsheetApp.Sheet.getRange

我想将单元格值从 b1 复制到 b2,但出现错误请帮助解决此问题

   function recordHistory() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var inputSheet = ss.getSheetByName("b1");


var source = inputSheet.getRange('B3','D3','F3','H3','J3','L3','N3','P3','R3','T3','V3');
var values =

 source.getValues();

var outputSheet = ss.getSheetByName("b2");
outputSheet.getRange(outputSheet.getLastRow()+1,1,values.length,values[0].length).setValues(values);
};

Exception: The parameters (String,String,String,String,String,String,String,String,String,String,String) don't match the method signature for SpreadsheetApp.Sheet.getRange. recordHistory @ RecordPercent.gs:6

您应该考虑使用 Sheet.getRangeList()

Sheet.getRange() 方法有四个方法,最多接受四个参数,它们都在这个 page

上解释
function getAndSetValueWithRangeList() {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName('b1');
  const osh = ss.getSheetByName('b2');
  let rlA = sh.getRangeList(['B3', 'D3', 'F3', 'H3', 'J3', 'L3', 'N3', 'P3', 'R3', 'T3', 'V3']);
  rlA.getRanges().forEach((r,i)=>{osh.getRange(r.getA1Notation()).setValue(r.getValue());});
}