Zdroj: http://wall.cz/excel-navod/prizpusobeni-pasu-karet-ribbon-vlastni-pas-karet • Vydáno: 3.5.2013 18:00 • Autor: admin

Přizpůsobení pásu karet (Ribbon) - vlastní pás karet

ExcelPo dlouhých odkladech jsem přistoupil k přepracování pracovního doplňku, včetně vytvoření vlastního pásu karet v Excelu 2010. Vytváření vlastní karty (Ribbon) je další zkušenost, o kterou bych se chtěl s vámi rozdělit.

Vlastní karta není nic jiného než XML schéma, které je součástí souboru XLSX. Soubor s koncovkou XLSX je balíček ZIP formátu Office Open XML. Při hledání na Internetu jsem našel řadu způsobů, jak toto vlastní XML schéma vytvořit. Jako nejrychlejší a nejschůdnější cesta byla použít nástroj Custom UI Editor Tool. Po nainstalování a spuštění se zobrazí poměrně jednoduchý nástroj s intuitivním ovládáním.

Custom UI Editor Tool

Custom UI Editor Tool

Příklad XML schéma:

<customUI xmlns="http://schemas.microsoft.com/office/2009/07/customui"> <ribbon startFromScratch="false"> <tabs> <tab id="MyCustomTab" label="Můj pás" > <group id="customGroup1" label="Group 1"> <button id="customButton1" label="Caption 1" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="normal" onAction="Macro1" imageMso="DirectRepliesTo" /> <button id="customButton2" label="Caption 2" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="normal" onAction="Macro2" imageMso="AccountMenu" /> <button id="customButton3" label="Caption 3" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="normal" onAction="Macro3" imageMso="RegionLayoutMenu" /> </group> <group id="customGroup2" label="Group 2"> <button id="customButton4" label="Caption 4" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="normal" onAction="Macro4" imageMso="TextAlignGallery" /> <button id="customButton5" label="Caption 5" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="normal" onAction="Macro5" imageMso="PrintPreviewClose" /> <button id="customButton6" label="Caption 6" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="normal" onAction="Macro6" imageMso="PrintPreviewShrinkOnePage" /> <separator id="MySeparator1" /> <button id="customButton7" label="Caption 7" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." size="large" onAction="Macro7" imageMso="ReviewPreviousComment" /> </group> <group id="customGroup3" label="Group 3"> <menu id="MyDropdownMenu" label="My Menu" size="large" imageMso="TextAlignGallery" > <button id="customButton8" label="Caption 8" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." onAction="Macro8" imageMso="TextAlignGallery" /> <button id="customButton9" label="Caption 9" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." onAction="Macro9" imageMso="TextAlignGallery" /> <button id="customButton10" label="Caption 10" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." onAction="Macro10" imageMso="TextAlignGallery" /> <button id="customButton11" label="Caption 11" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." onAction="Macro11" imageMso="TextAlignGallery" /> <button id="customButton12" label="Caption 12" screentip="Caption XY (Ctrl+?)" supertip="Podrobnější popis.&#13;&#13;Umožňuje zalomit řádek." onAction="Macro12" imageMso="TextAlignGallery" /> </menu> </group> </tab> </tabs> </ribbon> </customUI>

Popis struktury XML:


Skupina

<group id="customGroup1" label="Group1"> … tlačítka … </group>

Parametry:

Tlačítko

<button id="cmd1" … parametry tlačítka … />

Parametry:

Oddělovat

<menu id="MySeparator1" />

Parametry:

Menu

<menu id="MyDropdownMenu" label="My Menu" imageMso="TextAlignGallery"> <button id="cmd1" ... /> <button id="cmd2" ... /> ... </menu>

Parametry:

Hotové XML je potřeba zvalidovat. Stiskněte tlačítko Validate. Pokud je vše v pořádku, zobrazí se informační dialog. V opačném případě se zobrazí chyba, kterou musíte odstranit, jinak se karta nebude zobrazovat. Soubor pak uložte File/Save (Ctrl+S).
Custom UI Editor Tool

Program má ještě další užitečný nástroj. Z hotového XML vám umí vygenerovat makra pro všechna definovaná tlačítka. Pokud chcete tuto funkci využít, stiskněte Generate Callbacks a zkopírujte makra do modulu. Následně pak v editoru maker doplňte kód, který se má provést.
Custom UI Editor Tool

Náhled na hotový vlastní pás.
Custom UI Editor Tool

Struktura XML kontejneru.
Custom UI Editor Tool

Co se vám bude ještě hodit

Zdrojové odkazy

Co můžete dál dělat?

Soubor s příkladem ke stažení: Nejste přihlášen(a).