dnes je 8.12.2022

Input:

Excel 2013: Dialogová okna a jejich spouštění

4.1.2017, , Zdroj: Verlag Dashöfer

Pokud v Excelu začnete psát makra ve Visual Basicu, zjistíte, že byste potřebovali něco, čím by se dané makro uživatele zeptalo na nějaký údaj, který by v různých situacích nemusel být stejný. Případně byste potřebovali, aby se uživateli ukázaly některé informace. Proto je možné jednoduše definovat pro zobrazení dva základní typy dialogových oken.

První typ je MsgBox. Jeho úkolem při zobrazení je pouze uživatele o něčem informovat, například o počtu dat, o spokojenosti, o splnění úkolu, nebo může zobrazit stručnou nápovědu či uživatele jen pozdravit (příklad Excel2013_MakraDialog.xlsm).

V kódu jazyka Visual Basic je syntaxe jeho zápisu následující:

MsgBox (text[, tlačítka], [, titulek] [, nápověda, kontext])

První parametr text je povinný a je v něm zapsán text, který se má v dialogovém okně zobrazit, například „Ahoj, jak se máš?“. Ostatní parametry jsou již nepovinné, ale některé z nich jsou užitečné. Druhý parametr tlačítka určuje, jaká tlačítka se mají v dialogovém okně zobrazit. Zobrazují se totiž na základě přesně zadaných konstant, které vám nejlépe ukáže následující tabulka:

konstanta

tlačítka

vbOKOnly

OK

vbOKCancel

OK, Storno

vbAbortRetryIgnore

Přerušit, Opakovat, Ignorovat

vbYesNoCancel

Ano, Ne, Storno

vbYesNo

Ano, Ne

vbRetryCancel

Opakovat, Storno

vbCritical

ikonka se symbolem křížku

vbQuestion

ikonka se symbolem otazníku

vbExclamation

ikonka se symbolem vykřičníku

vbInformation

ikonka se symbolem písmene I

Do dalšího parametru titulek můžete napsat text, který se bude zobrazovat v názvovém pruhu (titulku) dialogového okna, například slovo „Pozdrav“. Zbývající dva parametry slouží pro možnost zavolání nápovědy.

Jednoduché dialogové okno z předchozího obrázku vypadá zapsané v Editoru Visual Basicu následovně:

Pokud byste chtěli dát otázku, na kterou může člověk odpovědět jako Ano nebo Ne, pak by bylo třeba tento kód upravit.

S tím pak ale souvisí, že byste chtěli vědět, jak daný uživatel odpověděl. Je to jednoduché, protože MsgBox umí vrátit do proměnné hodnotu, která má pak přesný význam, uvedený v

Nahrávám...
Nahrávám...