Причина, по которой вы не можете получить идентификатор с листа, заключается в том, что вы используете функцию getValues()
вместо getValue()
. Обратите внимание, что вторая функция не имеет 'в концеgetValue()
возвращает значение определенной ячейки (или значение первой ячейки в определенном диапазоне), тогда как getValues()
возвращает массив, который содержит все значения в диапазоне.Даже если в диапазоне есть только одна ячейка, она вернет массив.Таким образом, строка в коде, который получает идентификатор электронной таблицы, будет следующей:
var key1 = Brand1.getRange('a3').getValue();
Кроме того, я полагаю, что ваши Brand1Data I также должны быть изменены:
var Brand1Data = Brand1.getRange('a5:z').getValues();
Чтобы получить всезначения в этом диапазоне.
Ваш фиксированный код будет выглядеть так:
var sss = SpreadsheetApp.getActiveSpreadsheet();
var Brand1 = sss.getSheetByName('Brand 1');
var Brand1Data = Brand1.getRange('a5:z').getValues();
var key1 = Brand1.getRange('a3').getValue();
var Brand1Spreadsheet = SpreadsheetApp.openById(key1);
var BrandDatabase = Brand1Spreadsheet.getSheetByName('Database');
BrandDatabase.getRange(BrandDatabase.getLastRow()+1,3,Brand1Data.length, Brand1Data[0].length).setValues(Brand1Data)