8

fand ich Code die Namen aller Blätter in Google Tabellen zur Liste (von here):Liste Namen von Blättern in Google Sheets und überspringen die ersten beiden

function SheetNames() { // Usage as custom function: =SheetNames(GoogleClock()) 
try { 
    var sheets = SpreadsheetApp.getActiveSpreadsheet().getSheets() 
    var out = new Array(sheets.length+1) ; 
    //out[0] = [ "Name" , "gid" ]; 
    for (var i = 1 ; i < sheets.length+1 ; i++) out[i] = [sheets[i-1].getName()]; 
    return out 
} 
catch(err) { 
    return "#ERROR!" 
} 
} 

Meine Frage ist, wie kann ich das Skript ändern Überspringen der ersten beiden Blattnamen und Auffüllen der Liste in der Zelle, in der das Skript aufgerufen wird?

Ich versuchte, die var i = 1 zu var i = 3 zu ändern, und das übersprang die ersten zwei Blattnamen, aber es erstellte auch leere Zellen. Wie überspringe ich die ersten beiden Blattnamen und erstelle keine leeren Zellen?

Antwort

6

Sie hatte die richtige Idee, aber Ihr Ausgangsarray war in seiner Position das erste Element platzieren 3. Stattdessen tun:

for (var i = 3 ; i < sheets.length+1 ; i++) out[i-2] = [sheets[i-1].getName()]; 
+0

Perfect, danke! Ich hätte auf den ursprünglichen Thread geantwortet, aber es war geschlossen - schön, eine Antwort von Ihnen zu bekommen! – Nathan

+0

Beachten Sie, dass es sterben wird, wenn die Tabelle weniger als 3 Blätter hat. –

Verwandte Themen