VBA > Paski narzędziowe w oknach VBA > Zarządzanie paskami narzędziowymi > Sprawdzenie, czy istnieje pasek narzędziowy | | Drukuj |
Na etapie projektowania okna wielokrotnie zachodzi konieczność uruchamiania i zatrzymywania wykonywania kodu projektu. Utworzony raz pasek narzędzi nie jest usuwany po zatrzymaniu (zresetowaniu) projektu. W takiej sytuacji w kodzie obsługującym dodawanie paska narzędzi zawsze należy sprawdzić, czy pasek narzędzi o takiej nazwie już istnieje (z poprzedniej sesji uruchomienia projektu) i usunąć go.
Możemy operować bezpośrednio na kolekcji:
If CommandBars("Pasek 1") Is Nothing Then
'Nie ma obiektu o nazwie "Pasek 1" w kolekcji
'można np. dodać pasek o takiej nazwie
Else
'Istnieje już obiekt o takiej nazwie (może być to pasek narzędzi, lub menu kontekstowe)
'można np. sprawdzić czy jest to toolbar i ewentualnie usunąć go
End If
lub poprzez podstawienie do obiektu tymczasowego:
Dim bar As CommandBar
Set bar = CommandBars("Pasek 1")
If bar Is Nothing Then
'obiekt nie istnieje
Else
'obiekt istnieje
End If