Funkcje arkusza: Różnice pomiędzy wersjami

Z Henryk Dąbrowski
Przejdź do nawigacji Przejdź do wyszukiwania
m (1 wersja)
 
Linia 41: Linia 41:
  
  
[[LibreOffice Calc – makra | <b>LibreOffice Calc – makra</b>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[Henryk Dąbrowski | <b>Strona główna</b>]]
+
[[LibreOffice Calc – makra – przykłady | <b>LibreOffice Calc – makra – przykłady</b>]]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[[Henryk Dąbrowski | <b>Strona główna</b>]]
  
  

Aktualna wersja na dzień 16:29, 24 maj 2024

05.12.2020



Wstawianie nowego arkusza

Niekiedy potrzebujemy, aby procedura wstawiła do skoroszytu nowy arkusz i sama dobrała nazwę arkusza różną od nazw już istniejących arkuszy. Zamieszczona niżej procedura rozwiązuje ten problem. Jeśli nie podamy parametru, to wstawianemu arkuszowi zostanie nadana pierwsza wolna nazwa z ciągu: "Arkusz", "Arkusz1", "Arkusz2", "Arkusz3", ... Jeżeli procedura zostanie wywołana z parametrem, to zostanie stworzony analogiczny ciąg nazw, ale zamiast słowa "Arkusz" będzie użyty tekst podany jako parametr.

Sub WstawNowyArkusz(Optional NazwaArkusza as String)
    Dim sName as String
    Dim k as Long
    If IsMissing(NazwaArkusza) Then
        sName = "Arkusz"
    Else
        sName = NazwaArkusza
    End If
    If NOT ThisComponent.getSheets().hasByName( sName ) Then 'sprawdza czy arkusz o podanej nazwie już istnieje
        ThisComponent.getSheets().insertNewByName( sName, 0 ) 'wstawia nowy arkusz na pozycję 1 (z indeksem 0)
        Exit Sub
    End If
    For k = 1 to 10000 'maksymalna liczba arkuszy
        If NOT ThisComponent.getSheets().hasByName( sName & k ) Then 'sprawdza czy arkusz o podanej nazwie już istnieje
            ThisComponent.getSheets().insertNewByName( sName & k, 0 ) 'wstawia nowy arkusz na pozycję 1 (z indeksem 0)
            Exit For
        End If
    Next k
End Sub
Sub Arkusze1()
    Call WstawNowyArkusz()
    Call WstawNowyArkusz("Wyniki")
End Sub





LibreOffice Calc – makra – przykłady                   Strona główna