Felmerülhet a kérdés Excel makrók fejlesztése közben, hogy hogyan lehet felhasználó barátabbá tenni az alkalmazást. Ennek egyik eszköze lehet az eszköztáron elhelyezett gomb (CommandBarButton).
Amennyiben azt szeretnénk, hogy a saját gombjaink megjelenjenek az alkalmazás megnyitásakor a Workbook_Open() esemény lekezelésére van szükségünk. Ezt úgy tehetjük meg, hogy a Project Explorer-ben (View -> Project Explorer) jobb egér gombbal kattintunk a ThisWorkbook objektumra, és a View Code pontot választjuk. Az így megnyílt ablakba írhatjuk az alábbi kódot:
Private Sub Workbook_Open()
<kód>
End Sub
Ez a kód akkor fog lefutni, amikor az alkalmazás megnyílik. Ide nem írhatunk közvetlen olyan utasításokat, melyekre szükségünk van, ezért azokat érdemes külön modulba elhelyeznünk, és itt csak a megfelelő metódusra hivatkoznunk.
Ebben a külön metódusban valósítjuk meg a gomb létrehozását. Ehhez létre kell hoznunk két változót az új CommandBar-nak és gombnak.
Dim customCommandBar As CommandBar
Mielőtt létrehoznánk az új CommandBar-t érdemes törölnünk a korábban azonos néven létrehozott CommandBar-t, ha van ilyen, különben hibát ad a program. Amennyiben nincs ilyen CommandBar, akkor ne adjunk vissza hibaüzenetet a felhasználónak, hiszen ez nem a program alapvető működését befolyásoló hiba.
Dim customCommandBarButton As CommandBarButton
On Error Resume Next
Hozzuk létre saját CommandBar-unkat és gombunkat:
CommandBars("<CommandBar neve>").Delete
Set customCommandBar = CommandBars.Add("<CommandBar neve>", temporary:=True, Position:=msoBarTop)
Itt talán a Position attribútumot érdemes megemlíteni, mely sagítségével a fenti példában az ablak tetejére pozícionáljuk az új CommandBar-t.
Set customCommandBarButton = customCommandBar.Controls.Add(msoControlButton)
Állítsuk be a gomb tulajdonságait:
With customCommandBarButton
.Style = msoButtonIcon
.FaceId = <id>
.OnAction = "<metódus neve>"
End With
Itt adhatjuk meg, hogy a gomb ikonszerű legyen, a hozzá tartozó képet leíró id-t és annak a metódusnak a nevét, amely megvalósítja a kívánt funkciót. Az FaceId-khoz leírást az alábbi linkeken kaphatunk:
www.faceidguide.com/category.html
Az alábbi oldalon található néhány hasznos addin-t különböző programokhoz, melyekkel könnyen megkereshetjük a nekünk kellő képet.
Az alkalmazás bezárásakor érdemes törölni a hozzáadott gombot. Ezt a fent említett módon tehetjük meg, azzal a különbséggel, hogy ezúttal a Workbook_BeforeClose(Cancel As Boolean) eseményt kell lekezelnünk.