Получить личный лист Google по ID?
Я знаю, что Google Apps Script имеет метод getSheetId() для класса Sheet, но есть ли способ выбрать лист в электронной таблице путем ссылки на идентификатор?
Я не вижу ничего подобного getSheetById() в Документация по таблицам таблиц.
Ответы
Ответ 1
Вы можете использовать что-то вроде этого:
function getSheetIdtest(){
var id = SpreadsheetApp.getActiveSheet().getSheetId();// get the actual id
Logger.log(id);// log
var sheets = SpreadsheetApp.getActive().getSheets();
for(var n in sheets){ // iterate all sheets and compare ids
if(sheets[n].getSheetId()==id){break}
}
Logger.log('tab index = '+n);// your result, test below just to confirm the value
var currentSheetName = SpreadsheetApp.getActive().getSheets()[n].getName();
Logger.log('current Sheet Name = '+currentSheetName);
}
Ответ 2
var sheetActive = SpreadsheetApp.openById("ID");
var sheet = sheetActive.getSheetByName("Name");
Ответ 3
Попробуйте openById(id)
, как указано в документации Google:
var ss = SpreadsheetApp.openById("sheetID");
Ссылка: https://developers.google.com/apps-script/reference/spreadsheet/spreadsheet-app#openById(String)
Ответ 4
Не уверен в ID, но вы можете установить его имя:
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.setActiveSheet(ss.getSheetByName("your_sheet_name"));
Класс SpreadsheetApp имеет метод setActiveSheet и метод getSheetByName.