Здравствуйте,
Есть таблица со списком всех имеющихся таблиц(названия этих таблиц могут изменяться). Чтобы держать список названий актуальными я написал скрипт, который берет со столбца "C" id таблиц, открывает таблицу по этому id, берет название и вставляет в столбец "В". Проблема в том, что список постоянно пополняется и менять скрипт не удобно, поэтому я хотел бы написать его в виде цикла
function GetSpreadSheetsName33() {
var SpreadSheets = SpreadsheetApp.openById('Тут ID Таблицы').getSheetByName('Accesses');
var Data = SpreadSheets.getRange("C2").getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B2").setValue(SheetName);
var Data = SpreadSheets.getRange("C3").getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B3").setValue(SheetName);
var Data = SpreadSheets.getRange("C4").getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B4").setValue(SheetName);
var Data = SpreadSheets.getRange("C5").getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B5").setValue(SheetName);
var Data = SpreadSheets.getRange("C6").getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B6").setValue(SheetName);
var Data = SpreadSheets.getRange("C7").getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B7").setValue(SheetName);
}
Методом "тыка" получилось это, только оно не работает
function GetSpreadSheetsName() {
var i = 2;
var SpreadSheets = SpreadsheetApp.openById('Тут ID таблицы').getSheetByName('Accesses');
while (SpreadSheets.getRange("C"+i).getValue().lenght>1)
{
i++;
var Data = SpreadSheets.getRange("С"+i).getValue();
var SheetName = SpreadsheetApp.openById(Data).getName();
SpreadSheets.getRange("B"+i).setValue(SheetName);
}
}
Этот вопрос на StackOverFlow