Makra vytvořená pomocí záznamu ne vždy zcela vyhovují našim představám. Lze je dále upravovat v prostředí editoru jazyka Visual Basic for Applications. Tento příklad demonstruje úpravu makra zadáním informace z klávesnice.
Zadání
Otevřete dokument MakroHledani.docm. V dokumentu se nachází již vytvořené makro Hledání, které nalezne první výskyt slova květináč v dokumentu. Makro upravte následujícím způsobem:
Řešení
Text zadaný z klávesnice uložíme např. do proměnné text, která bude datového typu String (textový řetězec).
Pro vstup z klávesnice se používá dialogové okno vyvolané funkcí InputBox().
Tato funkce má několik parametrů zadávaných do závorek a oddělených čárkou – první údaj se týká zobrazovaného textu v dialogovém okně, druhý údaj je titulek okna, třetí údaj implicitní text, který se v okně zobrazí a uživatel jej může dále přepsat. Další parametry nejsou povinné a pro naše účely nepodstatné.
Provedení:
Před úpravou makra doporučujeme makro nejprve vyzkoušet – karta Vývojář/skupina Kód/příkaz Makra/v dialogovém okně Makra vybrat makro Hledání, příkaz Spustit. Pozn. Pro práci s makry je třeba nejprve nastavit zabezpečení maker (viz příklad 9.1 – Úprava maker, nastavení prostředí – bod 2).
Úprava makra:
karta Vývojář/skupina Kód/příkaz Makra/v dialogovém okně Makra vybrat makro Hledání, příkaz Upravit. Otevře se prostředí editoru Microsoft Visual Basic s již vytvořeným makrem Hledání. Popis prostředí editoru jazyka Visual Basic viz příklad 8.2 – nastavení prostředí – bod 3).
Zadání
Umístit kurzor pod text s komentářem (zelená barva, řádek začíná apostrofem), vytvořit nový řádek klávesou Enter, vepsat příkaz pro deklaraci proměnné:
Zadání
Text = InputBox(”Zadejte text pro hledání:”,”Hledání textu”)
Upravit makro tak, aby hledalo zadaný text z klávesnice (a ne původní slovo květináč) – přepsat text „květináč“ v uvozovkách na text (bez uvozovek). Pozn. Pokud v kódu pracujeme s textem, uvádíme jej v uvozovkách. Chceme-li pracovat s hodnotou uloženou v proměnné, uvádíme název proměnné bez uvozovek. V našem případě bude makro pracovat s textem uloženým v proměnné text.
Vyzkoušení makra: přesunout se na okno aktuálního dokumentu, umístit kurzor na začátek dokumentu. Karta Vývojář/skupina Kód/příkaz Makra/v dialogovém okně Makra najít vytvořené makro, tlačítko Spustit. Pozn. Makro lze spustit také v prostředí Editoru jazyka Visual Basic prostřednictvím nabídky Run/Run Macro.
Zadání
Sub Hledání()
'
' Hledání Makro
'
'
Dim text As String
text = InputBox("Zadejte text pro hledání:", "Hledání textu")
Selection.Find.ClearFormatting
With Selection.Find
.text = text
.Replacement.text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
End Sub