Jste zde: Úvodní stránka » excel » vba » ms-excel-vba-msg-box-dialogove-okno
MsgBox - Dialogový box
... nejen pro zobrazovaní hlášek programu ...
Proč dialogové boxy?
Při programování se občas hodí dostat od uživatelé odpověď (opravdu ten soubor chcete smazat?), upozornit ho na problematický stav (nelze se připojit na externí tiskárnu) připadně upozornit na nějakou kriticnou chybu. K tomu slouží dialogová okna, která se dají jednoduše využít ve Visual Basicu, který je součásti MS Excel.
Trocha teorie
MsgBox - Zobrazí dialogovou zprávu. Zobrazené okno čeká dokud uživatel neklepne na tlačítko. Poté se vrací hodnota typu Integer určující tlačítko, na které uživatel klikl.
Syntaxe
MsgBox(prompt[, buttons] [, title] [, helpfile, context])
Jednotlivé argumenty:
- Prompt - Povinný. Zobrazí se jeko zpráva. Délka max. 1024 znaků. Text se dá rozdělit pomocí (Chr(13) & Chr(10)
- Buttons - Nepovinné číslo, které představuje počet a typ tlačítek zobrazených na dialogovém okně. Pokud se neuvede je jeho hodnota 0. Viz popis dále.
- Title - Nepovinné. Text, který se zobrazí v záhlaví dialogového okan. Pokud nebude uveden, bude v záhlaví jméno aplikace.
- Helpfile - Nepoviné. Název souboru, který obsahuje text nápovědy k dialogu. Tj. musí být určen i context (ať se ví která nápověda bude zobrazena)
- Context - Nepoviné. Číselný výraz určující číslo kontextové nápovědy (tj. musí být určen také helpfile).
Buttons skládá se ze čtyř skupin:
- (0–5) popisuje počet a typ tlačítek zobrazených v dialogu
- (16, 32, 48, 64) určuje styl ikony
- (0, 256, 512) určuje výchozí tlačítko
- (0, 4096) určuje režim dialogu
V programu můžeme použít Konstanty (názvy) nebo Hodnoty (čísla). Viz příklady níže.
Buttons - programátorské nastavení:
Konstanta - Hodnota - Popis- Konstanta - Hodnota - Popis
- vbOKOnly - 0 - Zobrazí pouze tlačítko OK. Platí i v případě pokud neuvedeme žádnou hodnotu. (viz příklad níže)
- VbOKCancel - 1 - Zobrazí tlačítka OK a Storno.
- VbAbortRetryIgnore - 2 - Zobrazí tlačítka Zpět, Znovu a Ignorovat.
- VbYesNoCancel - 3 - Zobrazí tlačítka Ano, Ne a Storno.
- VbYesNo - 4 - Zobrazí tlačítka Ano a Ne.
- VbRetryCancel - 5 - Zobrazí tlačítka Znovu a Storno.
- -------------------------------
- VbCritical - 16 - Zobrazí ikonu Kritická zpráva.
- VbQuestion - 32 - Zobrazí ikonu Varovný dotaz.
- VbExclamation - 48 - Zobrazí ikonu Varovná zpráva.
- VbInformation - 64 - Zobrazí ikonu Informační zpráva
- -------------------------------
- VbDefaultButton1 - 0 - Výchozí je první tlačítko
- VbDefaultButton2 - 256 - Výchozí je druhé tlačítko
- VbDefaultButton3 - 512 - Výchozí je třetí tlačítko
- VbDefaultButton4 - 768 - Výchozí je čtvrté tlačítko
- VbApplicationModal - 0 - Aplikační režim; uživatel musí před pokračováním další práce ve zvolené aplikaci odpovědět na zprávu
- VbSystemModal - 4096 - Systémový režim; všechny aplikace jsou pozastaveny, dokud uživatel neodpoví na zobrazenou zprávu
Poznámka: K napsání textu bylo použito nápovědy z MS Excel.
Navratové hodnoty
pokud chceme dále spracovávat odpovědi uživatele jsou k dispozici návratové kody:
- Konstanta - Hodnota - Popis
- vbOK - 1 - OK
- vbCancel - 2 - Storno
- vbAbort - 3 - Zpět
- vbRetry - 4 - Znovu
- vbIgnore - 5 - Ignorovat
- vbYes - 6 - Ano
- vbNo - 7 - Ne
Poznámka: Ukázky využití je popsána v příkladě, níže prezentovaném.
Trocha praxe s MSG
... začneme od toho nejednodušího zobrazíme jednoduchou zprávu...
Příklad 1
Zobrazíme okno s textem: "Ahoj světe." Po kliku na tlačítko CommandButton3 se nám zobrazí požadované dialogové okno s textem.
Private Sub CommandButton1_Click()
Response = MsgBox("Ahoj světe!")
End Sub
Výsledek
Příklad 2
Zobrazíme okno s textem na dva řádky doplněné o tlačítka. Parametry tlačítek budeme inicializovat hodnotou.
Private Sub CommandButton2_Click()
Dim Msg
Msg = "Tak teď trochu složitější text" & Chr(13) _
& "Přes dva řádky s několika tlačítky..."
Style = 5
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
End Sub
Výsledek
Příklad 3
Takže v tomto článku nejsložitější ukázkový příklad, jednak si zobrazíme tlačítka, inicializovat je budeme Konstantou, přidáme Titulek okna, zobrazíme si ikonu a po stisku tlačítka zareagujeme na příslušnou odpověď. A bude "předvybráno" druhé tlačítko.
Private Sub CommandButton3_Click()
Dim Msg, Style, Title, Help, Ctxt, Response, MyString
Msg = "Chcete více peněz?"
Style = vbYesNo + vbCritical + vbDefaultButton2
Title = "Ukázkové okno"
Help = "DEMO.HLP" ' Definujeme soubor s helpem.
Ctxt = 1000 ' Definujeme řádek z helpu
Response = MsgBox(Msg, Style, Title, Help, Ctxt)
If Response = vbYes Then ' Pokud stiskneme ANO
Response = MsgBox("Stisknuto ANO!") ' Provede akci
Else ' Pokud stiskneme Ne.
Response = MsgBox("Jsi normální? Stisknul jsi NE!") ' Provede akci
End If
End Sub
Výsledek
Ke stažení
Výše uvedené příklady nabízím ke stažení.
msg box - MS Excel
- pro vaše testy (velikost 44 kB)
Článek byl aktualizován: 18.01.2012 15:55
Další články k tématu
- VBA makra - úvod
- Co je VBA
- Druhy aplikaci v Excelu
- VBA Formuláře UserForm - seznam článků
- Práce se soubory - seznam článku
- Jak na aplikace ve VBA Excel
- Vlastnosti, Metody, Události, Kolekce
- Události - úvod
- Formuláře úvod
- Odebrání hypertexového odkazu
- Vložení vzorce do komentáře
- Přiřazení maker tlačítkům - Excel 2007
- Zobrazení dialogu
- Msg box - dialogové okno - právě čtete
- VBA Excel - praktické příklady 1
- Ukončení aplikace - Excel VBA
Komentáře zatím nejsou
Můžete být prvními co zanechají smysluplný komentář.
Přidání nového komentáře
Za obsah komentářů neodpovídám, jelikož jsou komentáře publikovány ihned po jejich napsání čtenářem. Toto nemohu nijak ovlivnit. Přesto si vyhrazuji možnost jakýkoli neslušný komentář smazat bez udání důvodu.
Nejnovější článek
Z článku o
excel jsem jako poslední přidal či upravil článek
05.02.2012:
Je atribut souboru pouze pro čtení - VBA Excel.
Nejčtenější článek
Excel
- Základy MS Excel
- menu Soubor
- Formát dat
- Vložit
- Grafy
- Vzorce (Funkce)
- Matice
- Data
- Revize (Nástroje)
- VBA Úvod a seznamy článků
- VBA makra - úvod
- Co je VBA
- Druhy aplikaci v Excelu
- VBA Formuláře UserForm - seznam článků
- Práce se soubory - seznam článku
- Jak na aplikace ve VBA Excel
- Vlastnosti, Metody, Události, Kolekce
- Události - úvod
- Formuláře úvod
- Odebrání hypertexového odkazu
- Vložení vzorce do komentáře
- Přiřazení maker tlačítkům - Excel 2007
- Zobrazení dialogu
- Msg box - dialogové okno
- VBA Excel - praktické příklady 1
- Ukončení aplikace - Excel VBA
- VBA Teorie základy
- VBA Listy a buňky
- VBA Práce se soubory
- VBA Formuláře (UserForm)
- VBA Grafy
- VBA Application
- VBA Triky
- VBA praktické příklady kódu
- Praktické příklady
- Finanční poradce
- Šablony - Templates
- Testy
- Ostatní
Novinky
24.10.2011:
Formátování styly - MS Word 2010
Excel
05.02.2012:
Je atribut souboru pouze pro čtení - VBA Excel
Access
15.11.2010:
Automatický formulář - Access 2010
Power Point
12.06.2011:
Karta Vložení - PowerPoint 2010
Outlook - 25.02.2010:
Menu Soubor - Outlook 2010
Project
19.01.2012:
Time management - úvod
OneNote
17.10.2010:
OneNote 2010 – popis obrazovky
Poděkování
Stránky o MS Office produktu společnosti Micosoft. Neslouží jako technická podpora.
| XHTML 1.1 | CSS | Email na autora: lasak@centrum.cz | Copyright: Pavel a Danka 2006 - 2012 |
4239
Tento web zatím neprošel jazykovou korekturou.
Vlastní redakční systém pohánějící tento web je v BETA verzi, omluvte případné problémy.