Být programátorem VBA může být někdy zdrcující. Jedním ze způsobů, jak se podívat na VBA, je, že je to nástroj, který vám umožňuje napodobovat příkazy Excelu. Zvažte například tento příkaz VBA:
Rozsah („A1:A12“). Název = „Názvy měsíců“
Provedení tohoto příkazu VBA má stejný účinek jako výběr Vzorce → Definované názvy → Definovat název pro zobrazení dialogového okna Nový název, zadáním názvu měsíce do pole Název a A1:A12 do pole Odkazuje a klepnutím na OK.
Když spustíte příkaz VBA, dialogové okno Nový název se nezobrazí. To je téměř vždy to, co chcete, aby se stalo; nechcete, aby při provádění makra na obrazovce blikala dialogová okna.
V některých případech však můžete chtít, aby váš kód zobrazoval jedno z mnoha vestavěných dialogových oken aplikace Excel a nechal uživatele provádět volby v dialogovém okně. Můžete to provést pomocí VBA ke spuštění příkazu pásu karet. Zde je příklad, který zobrazí dialogové okno Nový název. Adresa v poli Odkazuje na představuje rozsah, který je vybrán při provádění příkazu.
Zobrazení jednoho z dialogových oken aplikace Excel pomocí jazyka VBA.
Application.CommandBars.ExecuteMso “NameDefine”
Váš kód VBA nemůže získat žádné informace z dialogového okna. Pokud například spustíte kód pro zobrazení dialogového okna Nový název, váš kód nemůže získat název zadaný uživatelem nebo rozsah, který je pojmenován.
ExecuteMso je metoda objektu CommandBars a přijímá jeden argument: parametr idMso, který představuje ovládací prvek pásu karet. Tyto parametry bohužel nejsou uvedeny v systému nápovědy. A protože pás karet neexistuje navždy, kód, který používá metodu ExecuteMso, není kompatibilní s verzemi před Excelem 2007.
Zde je další příklad použití metody ExecuteMso. Po provedení tohoto příkazu se zobrazí karta Písmo v dialogovém okně Formát buněk:
Application.CommandBars.ExecuteMso
"FormatCellsFontDialog"
Pokud se pokusíte zobrazit integrované dialogové okno v nesprávném kontextu, Excel zobrazí chybovou zprávu. Zde je například příkaz, který zobrazí dialogové okno Formát čísla:
Application.CommandBars.ExecuteMso “NumberFormatsDialog”
Pokud tento příkaz provedete, když to není vhodné (například je vybrán tvar), Excel zobrazí chybovou zprávu, protože toto dialogové okno je vhodné pouze pro buňky listu.
Excel má tisíce příkazů. Jak můžete najít jméno toho, co potřebujete? Jedním ze způsobů je použití karty Přizpůsobit pás karet v dialogovém okně Možnosti aplikace Excel. Rychlý způsob, jak se tam dostat, je kliknout pravým tlačítkem na libovolný ovládací prvek pásu karet a z místní nabídky vybrat příkaz Přizpůsobit pás karet.
Prakticky každý příkaz dostupný v Excelu je uveden v levém panelu. Najděte požadovaný příkaz a najeďte na něj myší a v popisku uvidíte jeho tajný název příkazu (je to část v závorkách).
Pomocí karty Přizpůsobit pás karet identifikujte název příkazu.