Přeskočit navigaci | Přeskočit na novinky
     

Jste zde: Úvodní stránka » excel » vba-pas-karet-ribbon-menu » pas-karet-vlozit-vlastni-excel-vba

Pás karet (Ribbon) vložit vlastní - VBA Excel

Videokurzy Excel

Ve spolupráci se SEDUO jsem vytvořil několik videokurzů:

Potřebujete-li přidat pás karet (menu Ribbon) v MS Excelu 2007 nebo Excelu 2010 za využití VBA.

Úvodem

Jelikož jsem potřeboval do jednoho Exelovského dokumentu doplnit vlastní Pás karet (Ribbon), našel jsem na internetu několik možností. Například na stránkch Microsoftu teorie pás karte. Jelikož se mi popis zdal složitější, vytvořil jsem si tento článek, kde se snažím na jednoduchém příkladě ukázat, jak toto provést.

Stažení souboru

Před vlastní tvorbou je potřeba stáhnout Editor UI rozhraní. Je ke stažení na adrese: CustomUIeditor. Po stažení nainstalujeme a obdržíme ikonu:

MS Excel 2010 - ikona-custom-ui-editor

Custom UI Editor

Po úspěšném spuštění je k dispozici na první pohled jednoduchý prográmek. Takže využijeme jeho jednoduchosti, jelikož v ní je síla.

MS Excel 2010 - custom ui editor

Prázdný soubor

Vytvoříme vlastní prázdný excelovský soubor, například pod názvem vlasni-pas-karet.xlsm.

Menu v XML

Vytvoříme menu v XML. A vložíme do prázdného souboru.

<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui"> <ribbon> <tabs> <tab id="customTab" label="Muj Pas Karet" insertAfterMso="TabHome"> <group idMso="GroupClipboard" /> <group id="YouCustomGroup" label="Moje polozky"> <button idMso="VisualBasic" /> <separator id="MySeparator1" /> <button idMso="SheetProtect" /> </group> </tab> </tabs> </ribbon> </customUI> <button idMso="FileExit" visible="false"/>

Toto nahrajeme v CustomUIeditor do námi vytvořeného prázdného souboru vlasni-pas-karet.xlsm

MS Excel 2010 - custom ui editor

Uložíme. :)

Ke stažení

Soubor Ukázka vlastního menu soubor ve formátu *.xlsm ke stažení zdarma. Soubor využívá makra.

Hotovo

Máme vlastní pás karet Ribbon. Obsahujíci schánku a moje položky

MS Excel 2010 - vlastni pas karet

Pokud bude zájem, v dalším článku popíšu podrobněji co, kde, jak, vkládat.

Článek byl aktualizován: 19.09.2020 11:07

Odměna

Ušetřil vám tento web čas, peníze? Pomohl vyřešit problém? Jste ochotni poskytnout symbolickou odměnu na další rozvoj? Vybrte si formu odměny, která vám vyhovuje.


Pavel Lasák - autor webu

Pavel Lasák

Microsoft Office (Word, Excel, Google tabulky, PowerPoint) se věnuji od roku 2000 (od 2004 na této doméně) - V roce 2017 jsem od Microsoft získal prestižní ocenění MVP (zatím jsem jediný z ČR v kategorií Excel). Své vědomosti a zkušenosti dávám k dispozici i on-line ve videích pro SEDUO. Ve firmách školím a konzultuji, učím na MUNI. Tento web již tvořím přes 15 let. Zdarma je zde přes 1.000 návodu, tipů a triků, včetně přes 250 různých šablon, sešitů.

   Pavel Lasák LinkedIn Profil    Pavel Lasák Google+ Profil    Pavel Lasák facebook Profil    Pavel Lasák twitter Profil


Komentáře


Leopold Bartoš

Přidáno: 02.09.12 12:27

Ve druhém řádku máte chybu patří tam <ribbon> .

Pavel Lasák

Přidáno: 02.09.12 16:31

To Leopold Bartoš: Děkuji už je opraveno. Přidal jsem soubor ke stažení. Než doprogramuji redakční systém ať může bez problému vkládat speciální znaky jako < > atd.

Radek

Přidáno: 27.02.13 20:46

Dobrý den. Nevíte prosím, jak pouze s pomocí makra skrýt / zobrazit existující hlavní kartu? Konkrétně Doplňky (TabAddIns). Předem díky.

Pavel Lasák

Přidáno: 27.02.13 21:49

To Radek: Tento článek http://stackoverflow.com/questions/14056816/invalidate-doesnt-hide-tabs vám nepomůže?

Radek

Přidáno: 28.02.13 18:01

To Pavel Lasák: Bohužel, potřebuji pouze VBA bez jakéhokoliv zásahu do XML. Jedná se o distribuovaný excelový sešit uživatelům.

Pavel Lasák

Přidáno: 28.02.13 21:35

To Radek: Zkusím pohledat, v osobních skriptech nic takového nemám.

Pavel

Přidáno: 04.03.13 20:34

to Radek: mohl by vám pomoci tento web: http://www.rondebruin.nl/ribbon.htm Change the Ribbon in Excel 2007 (2010)

Pavel Lasák

Přidáno: 04.03.13 21:21

To Pavel: Díky za odkaz - upravil jsem ať je odkaz klikatelný.

Pavel

Přidáno: 05.03.13 08:17

Ještě drobnost: v Custom UI Editor se mi nepodařilo do menu zadat písmena s háčky (ěščřž). Resp. podařilo ale tvdošíjně mi je přepisoval nějakým nečeským fontem... Stačí soubor uložit se znaky bez diakritiky, přejmenovat xlsm na ZIP (XLSX a XLSM jsou v podstatě XML kontejnery zabalené v ZIPU), jakýmkoli programem, který to umí, otevřít ZIP (TotalCommander), vlézt do složky customUI a zeditovat soubor customUI.xml - opravit v něm znaky s háčky. Uložit XML, přejmenovat ZIP zpátky na xlsm...a je hotovo :o)

Pavel Lasák

Přidáno: 05.03.13 16:06

To Pavel: Díky za super doplnění. Hlavně ten trik s českými znaky. Naštěstí jsem to nikdy nepotřeboval,a le až bude potřeba můžu házet machyr, že vím jak na to ;)

Petr Pecháček

Přidáno: 11.07.13 00:13

Oba zkuste Office Ribbon Editor. Verze 4.50 zlobí, raději 4.41 (Office Ribbon Editor 4.4.1). Jinak stačí i mnohem starší 3.0.0b3.

Petr Pecháček

Přidáno: 11.07.13 01:14

Dodatek: Zatím mi funguje bez problémů verze 4.40, u novějších vždy nějaký problém.

Pavel Lasák

Přidáno: 11.07.13 20:09

To Petr Pecháček: Přiležitostně vyzkouším.

Ivo

Přidáno: 12.07.13 15:42

Ahoj všichni. Nepoužívám Custom UI Editor. Soubor XML vytvořím manuálně, ale když tam mám české znaky, tak mi nový ribbon nechce excel 2007 zobrazit. Nevíte, kde je problém? Nemáte někdo fungující excelovský soubor, kde to jde? Mrknul bych na to co dělám špatně. Díky

Ľuboš Bakita

Přidáno: 20.02.14 10:59

Dobrý deň, je možné vytvoriť vlastný Ribbon aj pre Outlook 2007? Konkrétne pre menu "Nová správa". Ďakujem.

Jirka

Přidáno: 13.03.14 18:03

Dobrý den, předem bych rád zmínil, že se mi jedná o Ribbon do MS Access 2007 a mám dotaz ohledně vlastních ikon. Vlastní Ribbon si vytvořím normálně XMLkem v databázi USysRibbons, ale jdou mi tam jen obrázky standardní (imageMso). Chtěl bych tam vložit i vlastní, resp. stažené z internetu. Bohužel jsem zatím nezjistil, jak na to. Poradíte? Případně nějaký odkaz na příklad? Děkuji Jirka

HoU

Přidáno: 14.03.14 06:55

@Pavel & @Pavel Lasák: Pokud jde o diakritiku v menu, tak jsem narazil na problém, že se mi v Excelu menu vůbec nezobrazovalo, pokud byla čeština kdekoli v labelech. Vyřešit to lze editací XML a místo českých znaků zadávat jejich numerické kódy. (např á = á)

HoU

Přidáno: 14.03.14 06:59

resp. á = "& # 2 2 5 ;"

mira

Přidáno: 07.06.14 10:28

Dobrý den. Děkujiá za skvělý návod zde. Jen bych potřeboval poradit s tím aby se jedno z tlačítek na vlastním pásu po vzkonání "čehosi" deaktivovalo, nebylo klikatelné. Je něco takové možné? Děkuji.

Michal

Přidáno: 05.08.14 10:38

@HoU Skvělá rada, nicméně mi Excel stále komolí např. ě nebo ů, máte nějakou spolehlivou tabulku těchto kódů nebo je to jen další M$ bug?

Michal

Přidáno: 05.08.14 13:00

Problém s diakritikou je vyřešen. Stačí dodat do xml na první řádek <?xml version="1.0" encoding="UTF-8" standalone="yes"?> a uložit ve formátu utf-8 (umí např. PSPad). Nemusíte ani psát náhrady jaké používal HoU.

Pavel K.

Přidáno: 01.10.14 17:24

VLASTNÍ PÁS KARET JAKO DOPLNĚK zobrazeným v každém sešitu.. jenže.... Ahoj, dostávám se po dlouhé době něco jako je vlastní pás karet, je to prostě neuvěřitelné. Udělal jsme si svůj vlastní a uložil jako doplněk, takže se mi zobrazuje v jakémkoliv sešitu. A nastal problém... Vytvořil jsem si několik šablon v listech. Tyto listy jsem naspal kody ve VBA které se spouští při kliknutí na patřičnou ikonu v pásu karet, jenže toto finguje jenom v listu, ve kterém jsem to dělal, do té doby než celý sešit uložím jako doplněk , kde je tak 17 listů, s různě přednastavenými tabulkami adt. a ejhle ono to nejde.jako v původním listu.. jdou pouze formuláře.. moc prosím o radu, jak pomocí vlastního pásu karet, který uložím jako doplněk, aby mi při kliku se zkopíroval vytvořený list v aktuálním otevřeném sešitu (aktivním). diky díky psr@seznam.cz

jirak

Přidáno: 04.10.14 17:10

to Pavel K. Mam stejny problem err 9 .prolistoval jsem uz nekolik knih a projel dost webovek.s touto situaci neni nikde snad pocitano.jedine snad Pup7 ale je placeny a jeste neni jasny zda budou odemknuty kody VBA.nebo to zkusit jako sablonu.ale bude problem s ribbonem.zatim snad neni ucebnice excel vba - ribbon.ta by byla nej.

Michal

Přidáno: 04.10.14 22:19

@Pavel K. @jirak možná hloupá otázka, ale jste si jistí jak odkazujete ve VBA na listy? Osobně jsem se setkal s chybou (podotýkám, že vlastní, nikoli excelu), že si uložím aktivní list nebo sešit jako proměnnou, objekt se ale přepíše ve chvíli, kdy se "přepnu" na jiný list nebo sešit. Konkrétní případ je: otevřu excel, mám samozřejmě ihned prázdný sešit, spustím makro z riboonu s tím, že si makro ukládá aktivní sešit do proměnné, makro otevírá další sešit a tím pádem se prázdný neuložený sešit zavírá, objekt se přepsal na nový sešit, kam třeba ani nelze zapisovat nebo se odkazuje na list, který v sešitu není obsažen. Objektový svět je zvláštní a bohužel, "subscript out of range" často nenapoví, kde se chyba stala, nezbývá než se pitvat v kódu.

Přidáno: 05.10.14 04:08

Ahoj, něco podobného jsi zkoušel ? ;) Sub ribbon () Workbooks(Robin).IsAddin = False ( x x něco někam .....Robin Hood :) Workbooks(Robin).IsAddin = True End Sub

petr

Přidáno: 09.11.14 14:03

ahoj.delam si pas karet a kdyz ulozim jako doplnek mam tu kartu v kazdem sesitu.to jsem moc nevedel.tohle zjisteni mi otevrelo uplne jiny pohled a pouziti.makra se nemuseji povolovat pres pas jdou porad.nepotrebuji mit otevreno nekolik sesitu.formulare si spoustim primo z pasu jaky chci.tim padem sesity a kazdy list nepotrebuji mit ovladaci tlacitka pro formulare.a muze to pouzivat kazdy misto slozky s nekolika sesity mu dam jen jeden soubor jako doplnek a je to.vse je vzdy pri ruce.ale neco za neco kod RibboX je pomerne slozity s kombinaci VBA neni na to tolik knizek navodu.jde to pouze na prislusny excel.2007 na 2007.atd.na 2003 to jste mimo.jakakoliv zmena je casove narocna a zmena modulu.jedna chyba v dosti dlouhem kodu a nespusti se.ale je to asi budouci cesta ktera za nekolik let nahradi dosavadni prvky ActiveX a kod VBA.

paku

Přidáno: 09.01.15 11:08

Ahoj. Vytvořil jsem si vlastní pás karet s vlastním tlačítkem, kterému jsem pomocí "onAction" přiřadil makro. Po stisknutí tlačítka se však objevuje tato chyba: Wrong number of arguments or invalid property assignment. Nevíš, co s tím? Pokud toto makro přiřadím tlačítku, které vytvořím na libovolném listu, tak funguje.







Sdílejte

Pomohl Vám návod?
Sdílejte na Facebooku, G+
LinkedIn...

Nové články


Reklama


TOPlist Licence Creative Commons webarchiv rss XML

Stránky o MS Office (Excel) produktu společnosti Microsoft. Neslouží jako technická podpora.
| Email na autora: pavel.lasak@gmail.com | Copyright © : Pavel Lasák 2004 - 2021 |