HTML

Fejlesztési ötletek

Ebben a blogban fejlesztési ötleteket gyűjtöttem össze a gyorsabb és hatékonyabb fejlesztés érdekében

Friss topikok

Linkblog

Gombok elhelyezése az eszköztáron Microsoft Office Excel 2003 programban Visual Basic makró segítségével

2009.07.19. 17:08 Green Eagle

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
    Dim customCommandBarButton As CommandBarButton
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.

    On Error Resume Next
    CommandBars("<CommandBar neve>").Delete
Hozzuk létre saját CommandBar-unkat és gombunkat:

    Set customCommandBar = CommandBars.Add("<CommandBar neve>", temporary:=True, Position:=msoBarTop)
    Set customCommandBarButton = customCommandBar.Controls.Add(msoControlButton)
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.

Á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.kebabshopblues.co.uk/2007/01/04/visual-studio-2005-tools-for-office-commandbarbutton-faceid-property/

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.

skp.mvps.org/faceid.htm

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.

Szólj hozzá!

Címkék: microsoft makró excel visualbasic commandbar faceid commandbarbutton

A bejegyzés trackback címe:

https://development-green-eagle.blog.hu/api/trackback/id/tr591254941

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása