Копирование из электронной таблицы в другую ошибку электронной таблицы - PullRequest
0 голосов
/ 02 марта 2020

Я новичок в использовании appscript, может кто-нибудь помочь мне решить эту ошибку.

Параметры (String) не соответствуют сигнатуре метода для SpreadsheetApp.Range.setValues ​​

function Input1() {

  var sss = SpreadsheetApp.openById('10xap9qOf487MB9M9FQ-Turp81X_ZIoDVMyFY-Puf9BU');
  var ss = sss.getSheetByName('Input'); // ss = source sheet
  var values = ss.getRange("A2:H2").getValue();

  var tss = SpreadsheetApp.openById('1thJ5uqhfwZhdxsE0B9MhyhjwcFZpe4A0Ty3erGIuWpU');
  var ts = tss.getSheetByName('Entries'); // ts = target sheet
  ts.getRange(ts.getLastRow()+1,1,1,8).setValues(values);        
  }

1 Ответ

0 голосов
/ 17 марта 2020

Вы пытаетесь взять значения в диапазоне A2: H2 на листе «Ввод» и скопировать их в строку, следующую за последней строкой на листе = «Записи».

Проблема заключается в этом строка кода:
var values = ss.getRange("A2:H2").getValue();

Вместо использования getValue() следует использовать getValues()

Ваш диапазон составляет 8 столбцов:

  • getValue() «возвращает значение верхней левой ячейки в диапазоне». В этом случае он возвращает значение отдельной ячейки = A2.
  • getValues() вернет "прямоугольную angular сетку значений для [диапазона]". Это именно то, что вы хотите, чтобы вы могли использовать его с методом setValues() в последней строке скрипта.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...