V některých situacích můžete chtít upravit pás karet aplikace Excel automaticky při otevření sešitu nebo doplňku. Uživatel tak snadno získá přístup k makru. To také eliminuje potřebu uživatele upravovat pás karet ručně pomocí dialogového okna Možnosti aplikace Excel.
V aplikaci Excel 2007 a novějších verzích můžete provádět automatické změny na pásu karet, ale není to jednoduchý úkol. Úprava pásu karet zahrnuje psaní kódu XML v textovém editoru, zkopírování tohoto souboru XML do souboru sešitu, úpravu hromady souborů XML (které jsou také schované v souboru Excel, který ve skutečnosti není nic jiného než zazipovaný kontejner jednotlivých soubory) a poté napsáním procedur VBA pro zpracování kliknutí na ovládací prvky, které jste vložili do souboru XML.
Naštěstí je k dispozici software, který vám pomůže s přizpůsobením pásu karet – ale stále musíte znát jazyk XML.
Postupujte přesně podle těchto kroků:
Vytvořte nový excelový sešit.
Uložte sešit a pojmenujte jej modifikace pásu karet.xlsm.
Zavřete sešit.
Spusťte Editor vlastního uživatelského rozhraní pro Microsoft Office.
Pokud tento software nemáte, musíte jej najít a nainstalovat. Viz nedaleký postranní panel „Získat software“.
V editoru vlastního uživatelského rozhraní vyberte Soubor → Otevřít a najděte sešit, který jste uložili v kroku 2.
Vyberte Vložit → Vlastní část uživatelského rozhraní Office 2007.
Tento příkaz zvolte, i když používáte Excel 2010, Excel 2013 nebo Excel 2016.
Do panelu kódu (s názvem customUI.xml) zobrazeného v editoru uživatelského rozhraní zadejte následující kód:
Kód RibbonX zobrazený v editoru vlastního uživatelského rozhraní.
Klepněte na tlačítko Ověřit na panelu nástrojů.
Pokud má kód nějaké syntaktické chyby, zobrazí se zpráva s popisem problému. Pokud jsou zjištěny nějaké chyby, musíte je opravit.
Klikněte na tlačítko Generovat zpětné volání.
Editor vlastního uživatelského rozhraní vytvoří proceduru VBA Sub, která se spustí po kliknutí na tlačítko. Tento postup se do sešitu ve skutečnosti nevkládá, takže je potřeba si ho zkopírovat pro pozdější použití (nebo si ho zapamatovat, pokud máte dobrou paměť).
Procedura zpětného volání VBA, která se provede kliknutím na tlačítko pásu karet.
Vraťte se do modulu customUI.xml a zvolte Soubor → Uložit (nebo klikněte na ikonu Uložit na panelu nástrojů).
Soubor zavřete příkazem Soubor → Zavřít.
Otevřete sešit v Excelu a klikněte na kartu Domů.
Měli byste vidět novou skupinu pásu karet a tlačítko pásu karet. Ale zatím to nejde.
Stisknutím Alt+F11 aktivujte VBE.
Vložte nový modul VBA; vložte (nebo zadejte) proceduru zpětného volání, která byla vygenerována v kroku 9; a přidejte příkaz MsgBox, takže budete vědět, zda se procedura skutečně provádí.
Postup je
Sub ShowMessage (ovládat jako IRibbonControl)
MsgBox „Gratuluji. Našli jste nový příkaz pásu karet."
End Sub
Stisknutím Alt+F11 přejděte zpět do Excelu a klikněte na nové tlačítko na pásu karet.
Pokud vše půjde dobře, uvidíte MsgBox.
Důkaz, že přidání nového příkazu pásu karet pomocí XML je skutečně možné.
Když v Editoru vlastního uživatelského rozhraní zvolíte Vložit → Vlastní část uživatelského rozhraní Office 2007, vložíte část uživatelského rozhraní pro Excel 2007. Editor vlastního uživatelského rozhraní má také možnost vložit část uživatelského rozhraní pro Excel 2010 (software, který jsem použil, nebyl aktualizováno pro Office 2013 nebo Office 2016). Pro maximální kompatibilitu použijte vlastní část uživatelského rozhraní aplikace Excel 2007.
Pravděpodobně si uvědomujete, že úprava pásu karet pomocí XML není zrovna intuitivní. I s dobrým nástrojem, který vám pomůže (jako je editor vlastního uživatelského rozhraní), stále potřebujete rozumět XML. Pokud se vám to zdá lákavé, prohledejte web nebo najděte knihu věnovanou výhradně přizpůsobení rozhraní pásu karet v Microsoft Office.