8

znalazłem kod notować nazwy wszystkich arkuszy w arkuszach Google (z here):nazwy Lista blach w arkuszach Google i przejść dwie pierwsze

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!" 
} 
} 

Moje pytanie brzmi: w jaki sposób można zmodyfikować skrypt pominąć nazwy pierwszych dwóch arkuszy i rozpocząć zapełnianie listy w komórce, w której wywołano skrypt?

Próbowałem zmienić var i = 1 na var i = 3 i pominąłem nazwy pierwszych dwóch arkuszy, ale również zostały utworzone puste komórki. Jak pominąć nazwy dwóch pierwszych arkuszy i nie tworzyć pustych komórek?

Odpowiedz

6

Miałaś dobry pomysł, ale swoją tablicę wyjście było umieszczenie pierwszego elementu w pozycji 3. Zamiast to zrobić:

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

doskonały, dzięki! Odpowiedziałbym na oryginalny wątek, ale został zamknięty - miło, że dostałem odpowiedź od ciebie! – Nathan

+0

Pamiętaj, że umrze, jeśli arkusz kalkulacyjny zawiera mniej niż 3 arkusze. –

Powiązane problemy