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.
Příklad XML schéma:
Popis struktury XML:
Skupina
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
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 ), 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
Parametry:
- id="MySeparator1" - Jedinečné označení.
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).
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.
Náhled na hotový vlastní pás.
Struktura XML kontejneru.
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).
Komentáře
Zasílate odpověď ke stávajícímu příspěvku (zrušit).
Nemáte oprávnění přidávat příspěvky.
Registrace >
Ztracené heslo >
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