Apps Script в код подставить ID и имя листа из ячеек рабочего листа
Можно ли заменить жесткую привязку в коде NameDoc NameListDoc на ячейку из листа, периодически будет меняться как id документа, так и название листа, но не хочется залазить в код. На "Лист1" сейчас указано в ячейке А1 - id документа ...., в ячейке А2 - название листа 01_24. Текущий код:
function distrib() {
var spreadsheet = SpreadsheetApp.getActive();
var NameList = SpreadsheetApp.getActive().getSheetByName("Лист1");
var NameDoc = SpreadsheetApp.openById('1iGfG3xSrkQ_7J3XU38LENpzwRprjTomAYLLQw89Gkr8');
var NameListDoc = destinationSpreadSheet.getSheetByName("01_24");
var f = NameList.getRange('C4').getValues() ; if (f != ''){NameListDoc.getRange('B5').setValues(f);}
var f = NameList.getRange('C5').getValues() ; if (f != ''){NameListDoc.getRange('B6').setValues(f);}
}
Ответы (1 шт):
Если я правильно вас понял, то у вас есть таблица, предположим с листом Лист1, на котором в ячейках A1:A2 вы периодически меняете ID и имя листа внешней таблицы, с которой нужно проводить какие-то манипуляции. Тогда вы получаете значения из A1:A2
var getIDandName = SpreadsheetApp.getActive().getSheetByName("Лист1").getRange('A1:A2').getValues();
а дальше подставляете их в свою формулу. Например, если вы хотите получить данные с ячейки F1 таблицы, чьи ID и Имя листа берутся из ячеек A1:A2, то выглядит это так:
var NameListDoc = SpreadsheetApp.openById(getIDandName[0][0]).getSheetByName(getIDandName[1][0]).getRange('F1').getValue();