Nacházíte se: WALL.czExcel návod › Přizpůsobení pásu karet (Ribbon) - vlastní pás karet
Kategorie: Excel návod

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

  • Klikněte File/Open file a otevřete excelovský soubor, ve kterém budete vytvářet vlastní pás karet.
  • Vložte XML schéma podle vašeho formátu Excelu. Pravé tlačítko myši, jako je na obrázku nebo přes menu Insert. Pro Excel 2010 jsem vybral Office 2010 Custom UI Part (customUI14.xml).
  • V pravé části obrazovky se nachází textové pole, kde se definuje XML. Do tohoto pole také můžete načíst příklady schémat, které jsou součástí programu, přes menu Insert / Sample XML.

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:

  • id="customGroup1" - Jedinečné označení.
  • label="Group1" - Popis.
  • imageMso="" - Ikona skupiny. Ikona se zobrazuje je při 'smrštění' skupiny. Např. při zmenšení okna.
  • autoScale="true" - Automatické měřítko (A/N).
  • centerVertically="true" - Vertikální zarovnání tlačítka. Vyplatí se, když není skupina plná.)

Tlačítko

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

Parametry:

  • id="cmd1" - Jedinečné označení.
  • label="Tlačítko" - Popis tlačítka.
  • screentip - Popis (tučným písmem), obvykle stejný jako 'label', který se zobrazí, když uživatel přesune kurzor nad tlačítko.
  • supertip - Dlouhý popis (max. 1024 znaků a lze zalomit řádek znaky &#13;), který se zobrazí pod 'screentip', když uživatel přesune kurzor nad tlačítko.
  • showLabel="false" - Zobrazení popisu.
  • imageMso="ImportSavedImports" - Ikona.
  • size="large" - Velikost ikony (large, normal).
  • image="outlook_ico" - Vlastní ikona. V programu je pak nutné provést import obrázku (Insert / Icons). Obrázky jsou v XML kontejneru ve složce Images.
  • onAction="ImportSes" - Odkaz na makro, které se má spustit.

Oddělovat

<menu id="MySeparator1" />

Parametry:

  • id="MySeparator1" - Jedinečné označení.

Menu

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

Parametry:

  • id="MyDropdownMenu" - Jedinečné označení.
  • label="My Menu" - Popis.
  • imageMso="TextAlignGallery" - Ikona menu.

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

  • Galerie ikon - Image Mso Gallery Menu.
  • Seznam ID controls - Office 2010 Control IDs.
  • Pokud v popisech použijete diakritiku, tak na hotovém pásu karet ji nenajdete! Pokud chcete v popisech zobrazit diakritiku postupujte následujícím způsobem:
    • Soubor XLSX(M) přejmenujte na ZIP.
    • Soubor ZIP otevřete (TotalCommander, WinZip, 7z, ...).
    • Otevřete soubor CustomUI/CustomuUI14.xml k editaci. Viz obrázek 'Struktura XML kontejneru'.
    • Opravte diakritiku v popisech nebo překopírujte celý XML kód z připravené kopie (např. v txt souboru).
    • Zavřete XML soubor a aktualizujte archiv.
    • Přejmenujte soubor ZIP zpět na XLSX(M).

Zdrojové odkazy

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

  • Vlastní pás lze definovat i v dalších programech MS Office.
  • Vytvořit nový pás karet pro vlastní makro.
  • Vytvořit nový pás karet s oblíbenými funkcemi.
  • Upravit stávající pás karet (skrýt - omezit) určité funkce.
  • Rozšířit stávající pás karet o nové funkce.

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

print Formát pro tisk

Sdílet článek:

Komentáře rss

Zasílate odpověď ke stávajícímu příspěvku (zrušit).

Nemáte oprávnění přidávat příspěvky.

Uživatelské jméno
Heslo
     

Registrace >
Ztracené heslo >


, Dynamický seznam odpovědět
avatar
Dobrý den.
Chtěl bych pochválit za skvělý návod a zároveň mám jeden dotaz.
Je možné do ribbonu přidat tlačítko s rozevíratelným seznamem, který by se plnil třeba z listu v excelu, případně z jiného externího zdroje (sql apod).
Děkuji za pomoc
Roman K.citovat
, vlastní pás karet odpovědět
avatar
Především chci poděkovat za perfektní návod. Jen nefunguje odkaz na galerii ikon. Zdenek Lcitovat
, pás karet odpovědět
avatar
Mockrát děkuju za velice podrobný návod. Podařilo se mi vytvořit vlastní sešit pouze s jednou vlastní kartou a spoustou vlastních tlačítek pro urychlení práce.citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

odpocet a storno tl.

PavDD • 28.3. 8:53

odpocet a storno tl.

Začátečník • 26.3. 14:39

odpocet a storno tl.

PavDD • 26.3. 10:22

odpocet a storno tl.

elninoslov • 26.3. 7:50

odpocet a storno tl.

PavDD • 26.3. 7:26

odpocet a storno tl.

elninoslov • 25.3. 22:34

odpocet a storno tl.

Začátečník • 25.3. 15:09