Я могу помочь вам с javascript - вам придется разработать любой php для себя.
Если у вас есть идентификатор листа, то легко вернуться к названию листа, а затемчтобы "получить" лист по имени.
1 - getSheets () - получает все листы в текущей электронной таблице.Отсюда вы можете найти имя листа и идентификатор каждого листа.
2 - Идентификатор получается с помощью getSheetId () - возвращает идентификатор листа, который вы можете сравнить ствой список
3 - имя листа получается с помощью getSheetName () - возвращает имя листа, которое можно использовать в методе getSheetByName
.
4 - getSheetByName (name) - позволяет вам вернуть определенный лист с заданным именем.
В следующем примере получается объект, содержащий sheetIDs для ActiveSpreadsheet.Он проходит по этим листам, захватывая соответствующие SheetName и SheetID.Используя вложенный цикл, он просматривает мой список SheetID и сравнивает SheetID.Если SheetID совпадает, то код использует SheetName для доступа к листу по имени.Если идентификаторы SheetID не совпадают, они продолжаются через цикл nexted и так далее.
Я оставил несколько команд Logger в коде, чтобы OP мог проверять детали проверки в удобных точках в сценарии.
function so54586032() {
// set up the spreadsheet
var ss = SpreadsheetApp.getActiveSpreadsheet();
// this is the sheet where I listed my SheetIDs
var mainsheet = ss.getSheetByName("54586032");
// calculate the number of IDs
var Avals = mainsheet.getRange("A1:A").getValues();
var Alast = Avals.filter(String).length;
//Logger.log("DEBUG: Number of SheetIDs in my list: " + Alast); //DEBUG
// get the list of all sheets in this spreadsheet
var sheets = ss.getSheets();
//calculate the number of sheets
var sheetslength = sheets.length
//Logger.log("DEBUG: Number of actual sheets in this spreadsheet: " + sheetslength); //DEBUG
// LOOP through the actual sheets
for (var i = 0; i < sheets.length; i++) {
//Logger.log("DEBUG: i: " + i + ", sheet name: " + sheets[i].getName() + ", sheet ID: " + sheets[i].getSheetId()); // DEBUG
// loop through the list of sheets
for (var z = 0; z < Alast; z++) {
//Logger.log("DEBUG: z: " + z + ", sheet ID: " + Avals[z][0]); //DEBUG
// test if this shhetID equals the next number in my list
if (sheets[i].getSheetId() == Avals[z][0]) {
//Logger.log("DEBUG: Match: " + sheets[i].getSheetId() + " to " + Avals[z][0]); //DEBUG
// do something
} else {
//Logger.log("DEBUG: No Match"); //DEBUG
};
}
}
}
Мой список, содержащий соответствующие SheetID
