Ответ:
Ваша проблема в том, что вы используете подпись метода для getRange()
класса Sheet
в методе getRange()
для класса Spreadsheet
.
Дополнительная информация:
Оба Class Spreadsheet
и Class Sheet
имеют метод под названием getRange()
.
As согласно документации для Spreadsheet.getRange()
существует только getRange(a1Notation)
:
getRange(a1Notation)
:
Возвращает диапазон, указанный в обозначении A1 или R1C1 обозначение.
А для Sheet.getRange()
существует getRange(row, column, numRows, numColumns)
:
getRange(row, column, numRows, numColumns)
Возвращает диапазон с верхняя левая ячейка в заданных координатах с заданным количеством строк и столбцов.
Поскольку ваша переменная spreadsheet
определяется следующим образом:
var spreadsheet = SpreadsheetApp.getActive();
Это фактически экземпляр класса Spreadsheet
, а не Sheet
. Следовательно, используемая вами нотация недопустима.
Исправление кода:
Измените определение dataRange
с:
var dataRange = spreadsheet.getRange(2, 20, 15, 3);
на:
var dataRange = spreadsheet.getActiveSheet().getRange(2, 20, 5, 3);
Надеюсь, это будет вам полезно!
Ссылки: