Копировать в таблицы Google - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь заставить этот код работать, но продолжаю получать ошибку «TypeError: offset.copyTo is not a function». Предполагается, что сценарий берет одно значение из листа «Бюджет» и копирует его в следующую доступную строку в столбце F на листе «Прогнозируемый».

Я пробовал играть с синтаксисом и другими способами копирования, но чтобы теперь польза, любая помощь будет принята с благодарностью

function OffsetRecord() {
 var sheet = SpreadsheetApp.openById("xx").getSheetByName("Budget");
 var offset = sheet.getRange('I5').getValue();
 var destSheet = SpreadsheetApp.openById("xx").getSheetByName("Projected");
 var colF = destSheet.getRange('F:F').getValues();
 var fcolF = colF.filter(function (e) {return e[0];});
 var firstEmptyRowIncolF = fcolF.indexOf('')+1;
 offset.copyTo(firstEmptyRowIncolF, {contentsOnly: true});

1 Ответ

0 голосов
/ 26 мая 2020

copyTo ожидает диапазоны в качестве параметров, а не значений или номеров столбцов, см. здесь

Измените свой код следующим образом:

function OffsetRecord() {
  var spreadsheet = SpreadsheetApp.openById("XX");
  var sheet = spreadsheet.getSheetByName("Budget");
  var offset = sheet.getRange('I5');//without ".getValue();"!
  var destSheet = spreadsheet.getSheetByName("Projected");
  ...
  firstEmptyRowIncolF = ...;
  var destinationColumn = 1;
  var range = destSheet.getRange(firstEmptyRowIncolF, destinationColumn);
  offset.copyTo(range, {contentsOnly: true});
}
...