Jak přizpůsobit místní nabídky Excel 2016 ve VBA

Před Excelem 2007 používali programátoři VBA objekt CommandBar k vytváření vlastních nabídek, vlastních panelů nástrojů a vlastních místních nabídek (klepnutí pravým tlačítkem). Počínaje aplikací Excel 2007 je objekt CommandBar v poněkud zvláštní pozici. Pokud napíšete kód pro přizpůsobení nabídky nebo panelu nástrojů, Excel tento kód zachytí a ignoruje mnoho vašich příkazů.

Místo zobrazení vašeho promyšleného vylepšení rozhraní Excel 2007 (stejně jako novější verze) jednoduše vypíše vaše přizpůsobené nabídky a panely nástrojů na univerzální kartu pásu s názvem Doplňky.

Přizpůsobení nabídky a panelu nástrojů končí ve skupině Doplňky → Příkazy nabídky nebo Doplňky → Vlastní panely nástrojů. Ale přizpůsobení místních nabídek (které také používá objekt CommandBar) stále funguje jako vždy – no, tak nějak.

Sečteno a podtrženo? Objekt CommandBar již není příliš užitečný, ale zůstává jediným způsobem, jak přizpůsobit místní nabídky.

Přidání nové položky do místní nabídky Buňka

Níže naleznete ukázkový kód, který přidá novou položku do místní nabídky, která se zobrazí po kliknutí pravým tlačítkem na buňku. Tyto příklady byste měli být schopni přizpůsobit svým potřebám.

Nástroj Change Case můžete trochu vylepšit tím, že jej zpřístupníte z místní nabídky buňky.

Procedura AddToShortcut přidá novou položku nabídky do místní nabídky Buňka. Můžete jej přizpůsobit tak, aby ukazoval na vaše vlastní makra, změnou vlastností Caption a OnAction objektu s názvem NewControl.

Sub AddToShortCut()
  Dim Bar Jako CommandBar
  Ztlumit NewControl jako CommandBarButton
  DeleteFromShortcut
  Nastavit pruh = Application.CommandBars(“Buňka”)
  Set NewControl = Bar.Controls.Add _
     (Typ:=msoControlButton, ID:=1, _
     dočasné:=pravda)
  S NewControl
    .Caption = „&Změnit velikost písmen“
    .OnAction = “ChangeCase”
    .Style = msoButtonIconAndCaption
  Konec s
End Sub

Když upravíte místní nabídku, tato úprava zůstane v platnosti, dokud nerestartujete Excel. Jinými slovy, upravené místní nabídky se samy neresetují, když zavřete sešit obsahující kód VBA. Pokud tedy napíšete kód pro úpravu místní nabídky, téměř vždy napíšete kód, který zvrátit účinek vaší úpravy.

Procedura DeleteFromShortcut odstraní novou položku nabídky z místní nabídky buňky:

Sub DeleteFromShortcut()
  Při chybě pokračovat dále
  Application.CommandBars(“Buňka”).Ovládací prvky _
    („&Změnit případ“). Odstranit
End Sub

To ukazuje, jak se nová položka nabídky zobrazí po kliknutí pravým tlačítkem na buňku.

Jak přizpůsobit místní nabídky Excel 2016 ve VBA

Místní nabídka Buňka zobrazující vlastní položku nabídky: Změnit velikost písmen.

První skutečný příkaz po deklaraci několika proměnných volá proceduru DeleteFromShortcut. Tento příkaz zajišťuje, že se v místní nabídce Buňka zobrazí pouze jedna položka nabídky Změnit případ. Zkuste tento řádek okomentovat (na začátek řádku vložte apostrof) a několikrát spusťte proceduru – ale nenechte se unést!

Klepněte pravým tlačítkem na buňku a uvidíte několik instancí položky nabídky Změnit velikost písmen. Zbavte se všech položek spuštěním DeleteFromShortcut vícekrát (jednou pro každou další položku nabídky).

Nakonec potřebujete způsob, jak přidat položku místní nabídky při otevření sešitu a odstranit položku nabídky při zavření sešitu. To je snadné. Stačí přidat tyto dvě procedury událostí do modulu kódu ThisWorkbook:

Private Sub Workbook_Open()
Zavolejte AddToShortCut
End Sub
Private Sub Workbook_BeforeClose (Zrušit jako Boolean)
Zavolejte DeleteFromShortcut
End Sub

Procedura Workbook_Open se provede při otevření sešitu a procedura Workbook_BeforeClose se provede před zavřením sešitu. Přesně to, co lékař nařídil.

Co se liší v Excelu 2013 a Excelu 2016?

Pokud jste používali VBA pro práci s místními nabídkami v Excelu 2007 nebo starším, musíte si být vědomi významné změny.

Pokud v minulosti váš kód upravoval místní nabídku, byla tato úprava platná pro všechny sešity. Pokud jste například přidali novou položku do nabídky po klepnutí pravým tlačítkem na buňku, tato nová položka se zobrazí, když klepnete pravým tlačítkem na buňku v libovolném sešitu (a v dalších sešitech, které otevřete později). Jinými slovy, úpravy místní nabídky byly provedeny na úrovni aplikace .

Excel 2013 a Excel 2016 používají jediné rozhraní dokumentu, které ovlivňuje místní nabídky. Změny, které provedete v místní nabídce, ovlivní pouze okno aktivního sešitu. Když spustíte kód, který upravuje místní nabídku, místní nabídka pro jiná okna než aktivní okno se nezmění. Jde o radikální odklon od toho, jak věci fungovaly dříve.

Další změna: Pokud uživatel otevře sešit (nebo vytvoří nový sešit), když aktivní okno zobrazuje upravenou místní nabídku, nový sešit také zobrazí upravenou místní nabídku. Jinými slovy, nová okna zobrazují stejné místní nabídky jako okno, které bylo aktivní při otevření nových oken.

Sečteno a podtrženo: Pokud jste v minulosti otevřeli sešit nebo doplněk, který upravoval místní nabídky, mohli jste si být jisti, že upravené místní nabídky budou dostupné ve všech sešitech. Tu jistotu už nemáte.

Vytvářejte vlastní místní nabídky v Accessu 2007

Okno návrhu maker se v Accessu 2007 liší ve srovnání s novějšími verzemi, takže pokud používáte Access 2007, rozbalte následující části a postupujte podle nich.

Krok 1 pro Access 2007: Vytvořte skupinu maker, která obsahuje příkazy nabídky

V tomto kroku vytvoříte skupinu maker, z nichž každé makro bude samostatným příkazem v místní nabídce.

Co je makroskupina?

Skupina maker je jeden objekt maker, který obsahuje dvě nebo více nezávislých maker. Jednotlivá makra se identifikují zadáním názvu každého makra do sloupce Názvy maker. Na následujícím obrázku  je Macro3  skupina maker. NotFoundMsg  a  FoundMsg  jsou jednotlivá makra v rámci skupiny, každé makro se skládá ze dvou akcí makra.

Příklad skupiny maker

Poznámka:  Sloupec  Název makra  je ve výchozím nastavení skrytý. Chcete-li zobrazit  sloupec Název makra  , na  kartě Návrh  ve   skupině  Zobrazit/skrýt klikněte na Názvy maker .

  1. Na  kartě Vytvořit  ve  skupině Jiné  klikněte na  Makro . Pokud tento příkaz není k dispozici, klikněte na šipku pod  tlačítkem Modul  nebo  Modul třídy  a poté klikněte na  Makro .

  2. Na  kartě Návrh  ve   skupině  Zobrazit/skrýt kliknutím na Názvy maker  zobrazte  sloupec Název makra  .

  3. Pro každý příkaz, který chcete ve své vlastní místní nabídce:

    • Do  sloupce Název makra  zadejte text, který chcete zobrazit v místní nabídce (například "Tisk sestavy" nebo "Uložit").

      Poznámka:  Chcete-li vytvořit přístupovou klávesu, abyste mohli k výběru příkazu použít klávesnici, zadejte ampersand (&) před písmeno, které má být přístupovou klávesou v názvu příkazu (například „&Uložit“). Toto písmeno bude v nabídce podtrženo.
    • Ve  sloupci Akce  vyberte první akci, kterou chcete provést, když kliknete na příkaz v místní nabídce.

    • Pokud chcete při výběru tohoto příkazu provést více akcí, přidejte je na následující řádky. Pro každou následující akci ponechte  buňku Název makra  prázdnou.

      Poznámka:  Chcete-li vytvořit čáru mezi dvěma příkazy nabídky, zadejte do sloupce  Název makra  mezi příslušnými příkazy nabídky pomlčku (-).
  4. Uložte a pojmenujte makro, například   mcrShortcutMenuCommands .

Následující obrázek ukazuje příklad skupiny maker pro vlastní nabídku nebo místní nabídku.

Skupina maker nabídky v zobrazení Návrh

Krok 2 pro Access 2007: Vytvořte makro, které vytvoří nabídku

Tento krok se může zdát nadbytečný, ale chcete-li vytvořit místní nabídku ze skupiny maker, kterou jste vytvořili v kroku 1, musíte vytvořit druhé makro, které obsahuje  akci makra AddMenu  . Toto makro se někdy nazývá „makro nabídky“.

  1. Na  kartě Vytvořit  ve  skupině Jiné  klikněte na  Makro . Pokud tento příkaz není k dispozici, klikněte na šipku pod  tlačítkem Modul  nebo  Modul třídy  a poté klikněte na  Makro .

  2. Na prvním řádku makra vyberte  AddMenu  v  seznamu Action  .

  3. V  části Argumenty akce zadejte do pole  Název  nabídky název nabídky (například „Příkazy sestavy“). Tento argument není povinný, ale doporučuje se, pokud v kroku 3 plánujete přidat nabídku na kartu pásu karet (jako je karta  Doplňky  formuláře nebo sestavy). Pokud je nabídka přidána jako místní nabídka v kroku 3,  argument Název nabídky  je ignorován.

  4. Do  pole Název makra nabídky  zadejte název makra, které jste vytvořili v kroku 1.

  5. Uložte a pojmenujte makro, například  mcrAddShortcutMenu .

Následující obrázek ukazuje příklad makra nabídky, které vytváří nabídku, kterou jsme navrhli v kroku 1.

Makro nabídky v návrhovém zobrazení

Krok 3 pro Access 2007: Připojte nabídku k ovládacímu prvku, formuláři, sestavě nebo databázi

V závislosti na tom, kde se má nabídka zobrazit, použijte jeden nebo více z následujících postupů.

  • Přidejte nabídku na kartu Doplňky formuláře nebo sestavy

    Tento postup použijte, pokud chcete, aby se nabídka objevila na  kartě Doplňky  pro konkrétní formulář nebo sestavu, jak je znázorněno na následujícím obrázku:

    Karta Doplňky obsahující vlastní nabídku

    1. V navigačním podokně klikněte pravým tlačítkem na formulář nebo sestavu, kde se má nabídka zobrazit, a poté klikněte na  Návrhové zobrazení .

    2. Na  kartě Návrh  ve   skupině  Zobrazit/skrýt klikněte na položku List vlastností .

    3. Vyberte celý objekt výběrem  formuláře  nebo  sestavy  ze seznamu v horní části podokna úloh List vlastností.

    4. Na  kartě Jiné  na listu vlastností  zadejte do pole vlastností místní nabídky  název makra, které jste vytvořili v kroku 2 (v tomto příkladu „mcrAddShortcutMenu“).

      Při příštím otevření formuláře nebo sestavy   se na pásu karet zobrazí karta Doplňky . Klepnutím na kartu zobrazíte nabídku.

      Další informace o technikách přizpůsobení pásu karet, jako je přidání vlastních karet nebo skrytí výchozích karet, najdete v článku  Vytvoření vlastního pásu karet v Accessu .

      Pás karet je součástí uživatelského rozhraní Microsoft Office Fluent.

  • Přidejte nabídku jako místní nabídku pro formulář, sestavu nebo ovládací prvek

    Tento postup použijte, pokud chcete, aby se nabídka zobrazila po klepnutí pravým tlačítkem na konkrétní formulář, sestavu nebo ovládací prvek, jak je znázorněno na následujícím obrázku:

    Jednoduchá místní nabídka

    1. V navigačním podokně klikněte pravým tlačítkem na formulář nebo sestavu, kde se má zobrazit místní nabídka, a poté klikněte na  Návrhové zobrazení .

    2. Na  kartě Návrh  ve   skupině  Zobrazit/skrýt klikněte na položku List vlastností .

    3. Vyberte ovládací prvek nebo objekt, ke kterému chcete připojit místní nabídku.

      Poznámka:  Chcete-li vybrat celý objekt, vyberte  Formulář  nebo  Sestava  ze seznamu v horní části podokna úloh List vlastností.

    4. Na  kartě Jiné  na listu vlastností  zadejte do pole vlastností panelu místní nabídky  název makra, které jste vytvořili v kroku 2 (v tomto příkladu „mcrAddShortcutMenu“).

  • Přidejte nabídku jako globální místní nabídku

    Tento postup nahradí všechny výchozí místní nabídky v aktuální databázi. Vlastní místní nabídky, které jste připojili ke konkrétním formulářům, sestavám nebo ovládacím prvkům, nejsou ovlivněny.

    1. Klikněte na  tlačítko Microsoft Office  a poté na  Možnosti přístupu .

    2. V  dialogovém okně Možnosti aplikace Access  klikněte na položku  Aktuální databáze .

    3. V části  Možnosti pásu karet a panelu nástrojů zadejte do pole  Panel místní nabídky  název makra, které jste vytvořili v kroku 2 (v tomto příkladu „mcrAddShortcutMenu“).

  • Vlastní místní nabídky nahrazují výchozí místní nabídky pro objekty, ke kterým jsou připojeny. Chcete-li zachovat určité příkazy Accessu pro použití v těchto nabídkách, použijte  akci SpustitPříkaz  k umístění příkazů do skupin maker pro nabídky, ve kterých je chcete mít.

  • Vlastní místní nabídka, která je připojena k ovládacímu prvku, nahrazuje jakékoli jiné vlastní místní nabídky, které jsou definovány v databázi. Vlastní místní nabídka, která je připojena k formuláři nebo sestavě, nahrazuje vlastní globální místní nabídku.

  • Když zadáte makro nabídky pro formulář nebo sestavu nebo pro databázi, Access toto makro nabídky spustí při každém otevření formuláře, sestavy nebo databáze. Pokud provedete změny v makru nabídky nebo skupině maker, která definuje jeho příkazy, zatímco je formulář, sestava nebo databáze otevřená, musíte formulář, sestavu nebo databázi zavřít a znovu je otevřít, abyste viděli změny.

  • Chcete-li vytvořit podnabídku, postupujte podle kroku 1 a vytvořte samostatnou skupinu maker, která obsahuje pouze příkazy podnabídky. Poté znovu podle kroku 1 definujte příkazy pro nabídku vyšší úrovně. Přidejte podnabídku jako položku do skupiny maker vyšší úrovně pomocí  akce makra Přidat nabídku  . Následující obrázek ukazuje skupinu maker pro nabídku, která obsahuje podnabídku, a poté ukazuje výslednou místní nabídku. Třetí řádek ve skupině maker vytváří  podnabídku Exportovat do...  ( mcrSubMenu ).

    Místní nabídka, která obsahuje podnabídku

    Pomocí akcí AddMenu  ve skupinách maker pro každou úroveň nabídky můžete vytvořit více úrovní podnabídek  . Nezapomeňte zadat hodnotu  argumentu Název nabídky  pro každou  akci AddMenu  , jinak se podnabídka zobrazí jako prázdný řádek v nabídce vyšší úrovně.

  • Podmínky maker jsou podporovány pouze v makru nabídky nejvyšší úrovně. Jinými slovy, můžete použít podmínku v makru nabídky k určení, zda se zobrazí konkrétní nabídka nebo místní nabídka, ale pouze pro nabídky na nejvyšší úrovni. Podmínky nelze použít k zobrazení nebo skrytí příkazů nebo podnabídek v nabídkách. Pomocí podmínky můžete také skrýt nebo zobrazit vlastní místní nabídku nebo globální místní nabídku.

  • Volitelně může být makro nabídky, které vytvoříte v kroku 2, součástí skupiny maker. Máte-li například několik místních nabídek pro různé objekty nebo ovládací prvky, můžete vytvořit jeden objekt makra, který obsahuje všechna potřebná makra nabídky. Nezapomeňte zobrazit  sloupec Název makra  a zadejte jedinečný název pro každé makro. V kroku 3 použijte k odkazování na makro následující zápis:  název_makroskupiny.název_makra . Například  mcrAddShortcutMenus.AddMenu2 .

Leave a Comment

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Jak používat příkazy Znovu a Opakovat ve Wordu 2016

Objevte, jak efektivně využívat příkazy Znovu a Opakovat ve Wordu 2016 pro opravy dokumentů a zlepšení pracovního toku.

Jak změnit zamčené a skryté formátování buněk

Jak změnit zamčené a skryté formátování buněk

Naučte se, jak efektivně změnit stav buněk v Excelu 2010 z uzamčených na odemčené nebo z neskrytého na skrytý s naším podrobným průvodcem.

Jak přeložit text v cizím jazyce ve Wordu 2016

Jak přeložit text v cizím jazyce ve Wordu 2016

Zjistěte, jak efektivně využít překladové nástroje v Office 2016 pro překlad slov a frází. Překlad Gizmo vám pomůže překládat text s lehkostí.

Jak používat šablony ve Wordu 2013

Jak používat šablony ve Wordu 2013

Šablona ve Wordu šetří čas a usnadňuje vytváření dokumentů. Zjistěte, jak efektivně používat šablony ve Wordu 2013.

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Jak vytvořit e-mailová upozornění pro skupinu SharePointu

Zjistěte, jak si vytvořit e-mailová upozornění ve SharePointu a zůstat informováni o změnách v dokumentech a položkách.

Obsah SharePoint Online a typy obsahu

Obsah SharePoint Online a typy obsahu

Objevte skvělé funkce SharePoint Online, včetně tvorby a sdílení dokumentů a typů obsahu pro efektivnější správu dat.

Výpočet fiskálního čtvrtletí pro datum v Excelu

Výpočet fiskálního čtvrtletí pro datum v Excelu

Zjistěte, jak vypočítat fiskální čtvrtletí v Excelu pro různá data s použitím funkce CHOOSE.

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Jak vytvořit hypertextový odkaz na jiný snímek v aplikaci PowerPoint 2007

Zjistěte, jak vytvořit hypertextový odkaz v PowerPointu, který vám umožní pohodlně navigovat mezi snímky. Použijte náš návod na efektivní prezentace.

Zobrazit starší verzi dokumentu aplikace Word 2016

Zobrazit starší verzi dokumentu aplikace Word 2016

Uložili jste nedávno svůj dokument? Náš návod vám ukáže, jak zobrazit starší verze dokumentu v aplikaci Word 2016.

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra pásu karet a panelu nástrojů Rychlý přístup v Excelu 2013

Jak přiřadit makra vlastní kartě na pásu karet nebo tlačítku na panelu nástrojů Rychlý přístup. Návod pro Excel 2013.