2014-10-31 16 views

Antwort

8

Sie können so etwas wie folgt verwenden:

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

Danke, ich habe das getan. Es scheint nur sehr ungeschickt, dass Sie SpreadsheetApp.openById() ausführen können und Sie können SheetId() abrufen, aber Sie können ein Blatt nach ID nicht auswählen. – mrfinnsmith

-3

Nicht sicher ID, aber Sie von Blattnamen festlegen:

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
ss.setActiveSheet(ss.getSheetByName("your_sheet_name")); 

Die SpreadsheetApp Klasse ein setActiveSheet method und getSheetByName method hat.

2
var sheetActive = SpreadsheetApp.openById("ID"); 
var sheet = sheetActive.getSheetByName("Name"); 
+3

Wie hilft dies, ein Blatt auszuwählen, wenn Sie die Blatt-ID kennen, aber nicht den Blatt-Namen? SpreadsheetApp.openByID öffnet eine Tabelle, kein Blatt. – browly

+0

@browly Dies hilft, weil sich die ID nie ändert, aber wenn Sie den Blattnamen explizit schreiben und das Blatt umbenannt wird, funktioniert das Skript nicht mehr. – Xzila

Verwandte Themen