VBA > Paski narzędziowe w oknach VBA > Zarządzanie przyciskami na paskach narzędziowych > Dodawanie przycisków do paska narzędzi

Drukuj

Dodawanie przycisków do paska narzędzi

Obiekt CommandBar, który odpowiada paskowi narzędziowemu zawiera koolekcję obiektów kontrolnych Controls typu CommandBarControls. Aby dodać nowy przycisk do kolekcji Controls należy dodać nowy obiekt używając metody Add. Metoda Add ma dwa opcjonalne parametry. Pierwszy Type określa rodzaj obiektu, który zostanie dodany do kolekcji: msoControlButton – przycisk na pasku narzędziowym (również na menu) i msoControlPopup – podmenu (tylko w przypadku, gdy CommandBar odpowiada menu). Domyślną wartością pierwszego parametru jest msoControlButton. Drugi parametr Before, określa numer przycisku (licząc od 1), przed którym nowy przycisk zostanie umieszczony. Jeżeli parametr nie zostanie podany w wywołaniu metody – przycisk zostanie dodany na końcu paska.

Po dodaniu przycisku należy jeszcze wypełnić niektóre właściwości:

OnAction – zawiera nazwę makra z bieżącego projektu, które ma zostać uruchomione po naciśnięciu przycisku

Caption – wpisujemy tekst, który pojawi się na przycisku

Faceld – zawiera numer bitmapki ze zbioru predefiniowanych bitmapek, która zostanie umieszczona na przycisku

BeginGropu – ustawione na True oznacza, że przed tym przyciskiem zostanie dodany separator (przerwa).

 

Możliwe jest obsługiwanie przycisków na pasku narzędziowym używając klawiszy. Jeżeli do przycisku dodajemy tekst (właściwość Caption), możemy dowolną literę (oprócz liter polskich) lub cyfrę poprzedzić znakiem "&". Spowoduje to, że na przycisku znak poprzedzony przez "&" zostanie wyświetlony jako podkreślony, a naciśnięcie tego znaku z klawiatury łącznie z klawiszem Alt będzie miało taki sam efekt jak przyciśnięcie klawisza.

 

Dim but as CommandBarButton

Set but = bar.Controls.Add(msoControlButton)

With but

.OnAction = "Akcja1"

.Caption = "&Dokument"

.FaceId = 61

End With

 

Set but = bar.Controls.Add(msoControlButton)

With but

.OnAction = "Akcja2"

.Caption = "&Archiwum"

.BeginGroup = True

.FaceId = 35

End With

 

Stworzyliśmy toolbar z dwoma przyciskami. Do każdego z tych przycisków dołączyliśmy nazwę makra, które ma zostać uruchomione po naciśnięciu przycisku oraz umieściliśmy nazwę, która pojawi się na przycisku. Podaliśmy też numer bitmapki, która zostanie wyświetlona na przycisku. Rozmiar przycisku automatycznie dostosowuje się do tekstu, który został na nim położony. Wszystkie przycisku w pasku narzędziowym posiadają ten sam rozmiar, co oznacza, że wszystkie dopasują się do największego z nich. Jeżeli chcemy mieć małe przyciski z bitmapkami nie należy dodawać do żadnego przycisku tekstu i na odwrót – w przypadku paska tekstowego – do żadnego przycisku nie należy dodawać numeru bitmapki. Ustawienie właściwości Faceld chociaż do jednego przycisku, spwoduje zarezerwowanie miejsca na bitmapki we wszystkich przyciskach.