VBA > Paski narzędziowe w oknach VBA > Zarządzanie paskami narzędziowymi > Sprawdzenie, czy istnieje pasek narzędziowy

Drukuj

Sprawdzenie, czy istnieje pasek narzędziowy

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