Funkcje arkusza: Różnice pomiędzy wersjami

Z Henryk Dąbrowski
Przejdź do nawigacji Przejdź do wyszukiwania
(Utworzono nową stronę "<div style="text-align:right; font-size: 130%; font-style: italic; font-weight: bold;">05.12.2020</div> __FORCETOC__ == Wstawianie nowego arkusza == Niekiedy potrze...")
 
m (1 wersja)
(Brak różnic)

Wersja z 21:36, 18 wrz 2022

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                   Strona główna