Flexibilita argumentu tlačidiel VBA uľahčuje prispôsobenie polí správ programu Excel. Môžete si vybrať, ktoré tlačidlá sa majú zobraziť, určiť, či sa zobrazí ikona, a rozhodnúť, ktoré tlačidlo je predvolené (na predvolené tlačidlo sa „klikne“, ak používateľ stlačí Enter).
Pre argument tlačidiel môžete použiť vstavané konštanty. Ak chcete, môžete namiesto konštanty použiť hodnotu (ale použitie vstavaných konštánt je oveľa jednoduchšie).
Ak chcete použiť viac ako jednu z týchto konštánt ako argument, stačí ich spojiť s operátorom +. Ak chcete napríklad zobraziť okno so správou s tlačidlami Áno a Nie a ikonou výkričníka, použite ako druhý argument Okno správy nasledujúci výraz:
vbYesNo + vbExclamation
Alebo, ak chcete, aby bol váš kód menej zrozumiteľný, použite hodnotu 52 (to znamená 4 + 48).
Nasledujúci príklad používa kombináciu konštánt na zobrazenie okna hlásenia s tlačidlom Áno a tlačidlom Nie (vbYesNo), ako aj s ikonou otáznika (vbQuestion). Konštanta vbDefaultButton2 označuje druhé tlačidlo (Nie) ako predvolené tlačidlo – teda tlačidlo, na ktoré sa klikne, ak používateľ stlačí Enter. Pre jednoduchosť sú tieto konštanty priradené k premennej Config a potom použite Config ako druhý argument vo funkcii MsgBox:
Sub GetAnswer3()
Dim Config As Long
Dim Ans As Integer
Config = vbYesNo + vbQuestion + vbDefaultButton2
Ans = MsgBox(“Spracovať mesačný prehľad?”, Config)
Ak Ans = vbYes Then RunReport
End Sub
Pozrite si okno s hlásením, ktoré Excel zobrazí, keď spustíte procedúru GetAnswer3. Ak používateľ klikne na tlačidlo Áno, rutina vykoná procedúru s názvom RunReport. Ak používateľ klikne na tlačidlo Nie (alebo stlačí kláves Enter), rutina sa skončí bez akejkoľvek akcie. Pretože argument title bol vo funkcii MsgBox vynechaný, Excel používa predvolený názov, Microsoft Excel.
Argument tlačidiel funkcie MsgBox určuje, čo sa zobrazí v okne správy.
Nasledujúca rutina poskytuje ďalší príklad použitia funkcie MsgBox:
Sub GetAnswer4()
Dim Msg As String, Title As String
Dim Config As Integer, Ans As Integer
Msg = "Chcete spracovať mesačný prehľad?"
Msg = Msg & vbNewLine & vbNewLine
Msg = Msg & “Spracovanie mesačného prehľadu bude “
Msg = Msg & „trvá približne 15 minút. to "
Msg = Msg & “vygeneruje 30-stranový prehľad pre “
Msg = Msg & “všetky predajné kancelárie pre aktuálne”
Msg = Msg & "mesiac."
Názov = „Marketingová spoločnosť XYZ“
Config = vbYesNo + vbQuestion
Ans = MsgBox (Správa, Konfigurácia, Názov)
Ak Ans = vbYes Then RunReport
End Sub
Tento príklad demonštruje efektívny spôsob určenia dlhšej správy v okne so správou. Premenná (Msg) a operátor zreťazenia (&) sa používajú na zostavenie správy v sérii príkazov. Konštanta vbNewLine vloží znak zalomenia riadku, ktorý začína nový riadok (použite ho dvakrát na vloženie prázdneho riadku). Argument názvu sa používa na zobrazenie iného názvu v okne správy. Toto je okno so správou, ktoré Excel zobrazí, keď vykonáte tento postup.
Toto dialógové okno zobrazené funkciou MsgBox zobrazuje názov, ikonu a dve tlačidlá.
Pre návratovú hodnotu funkcie MsgBox môžete použiť konštanty (napríklad vbYes a vbNo). Tu je niekoľko ďalších konštánt.
Neustále |
Hodnota |
Čo to znamená |
vbOK |
1 |
Používateľ klikol na tlačidlo OK. |
vbCancel |
2 |
Používateľ klikol na tlačidlo Zrušiť. |
vbAbort |
3 |
Používateľ klikol na tlačidlo Zrušiť. |
vbRetry |
4 |
Používateľ klikol na tlačidlo Opakovať. |
vbIgnore |
5 |
Používateľ klikol na Ignorovať. |
vbÁno |
6 |
Používateľ klikol na Áno. |
vbNo |
7 |
Používateľ klikol na Nie. |
A to je takmer všetko, čo potrebujete vedieť o funkcii MsgBox. Okná správ však používajte opatrne. Zvyčajne nie je dôvod zobrazovať okná správ, ktoré neslúžia žiadnemu účelu. Ľudia majú napríklad tendenciu byť naštvaní, keď každý deň vidia schránku so správou s nápisom Dobré ráno. Ďakujeme, že ste si načítali pracovný zošit Rozpočtová projekcia.