Ako prispôsobiť ponuky skratiek Excel 2016 vo VBA

Pred Excelom 2007 používali programátori VBA objekt CommandBar na vytváranie vlastných ponúk, vlastných panelov s nástrojmi a vlastných kontextových ponúk (kliknutím pravým tlačidlom myši). Počnúc Excelom 2007 je objekt CommandBar v dosť zvláštnej pozícii. Ak napíšete kód na prispôsobenie ponuky alebo panela s nástrojmi, Excel zachytí tento kód a ignoruje mnohé z vašich príkazov.

Namiesto zobrazenia premysleného vylepšenia rozhrania Excel 2007 (podobne ako novšie verzie) jednoducho zobrazí vaše prispôsobené ponuky a panely s nástrojmi na univerzálnu kartu s páskou s názvom Doplnky.

Prispôsobenia ponuky a panela s nástrojmi skončia v skupine Doplnky → Príkazy ponuky alebo Doplnky → Vlastné panely s nástrojmi. Ale prispôsobenie kontextových ponúk (ktoré tiež používa objekt CommandBar) stále funguje tak, ako to vždy fungovalo – no, tak nejako.

Spodná čiara? Objekt CommandBar už nie je veľmi užitočný, ale zostáva jediným spôsobom, ako prispôsobiť kontextové ponuky.

Pridanie novej položky do ponuky skratiek bunky

Nižšie nájdete vzorový kód, ktorý pridá novú položku do kontextovej ponuky, ktorá sa zobrazí po kliknutí pravým tlačidlom myši na bunku. Mali by ste byť schopní prispôsobiť tieto príklady vašim potrebám.

Pomôcku Change Case môžete trochu vylepšiť tak, že ju sprístupníte z ponuky skratiek bunky.

Procedúra AddToShortcut pridá novú položku ponuky do ponuky skratky bunky. Môžete ho prispôsobiť tak, aby ukazoval na vaše vlastné makrá, zmenou vlastností Caption a OnAction objektu s názvom NewControl.

Sub AddToShortCut()
  Dim Bar Ako CommandBar
  Stlmiť NewControl ako tlačidlo CommandBarButton
  DeleteFromShortcut
  Nastaviť pruh = Application.CommandBars(“Cell”)
  Set NewControl = Bar.Controls.Add _
     (Typ:=msoControlButton, ID:=1, _
     dočasný:=Pravda)
  S NewControl
    .Caption = „&Zmeniť veľkosť písmen“
    .OnAction = “ChangeCase”
    .Style = msoButtonIconAndCaption
  Koniec s
End Sub

Keď upravíte ponuku skratiek, táto úprava zostane v platnosti, kým nereštartujete Excel. Inými slovami, upravené kontextové ponuky sa samé neresetujú, keď zatvoríte zošit, ktorý obsahuje kód VBA. Preto, ak napíšete kód na úpravu ponuky skratiek, takmer vždy napíšete kód, ktorý zvráti účinok vašej úpravy.

Procedúra DeleteFromShortcut odstráni novú položku ponuky z ponuky skratky bunky:

Sub DeleteFromShortcut()
  Pri chybe Pokračujte ďalej
  Application.CommandBars(“Cell”).Ovládacie prvky _
    („&Zmeniť prípad“). Odstrániť
End Sub

Toto ukazuje, ako sa nová položka ponuky zobrazí po kliknutí pravým tlačidlom myši na bunku.

Ako prispôsobiť ponuky skratiek Excel 2016 vo VBA

Ponuka skratky bunky zobrazujúca vlastnú položku ponuky: Zmeniť veľkosť písmen.

Prvý skutočný príkaz po deklarácii niekoľkých premenných volá procedúru DeleteFromShortcut. Toto vyhlásenie zaisťuje, že sa v ponuke skratiek Bunka zobrazí iba jedna položka ponuky Change Case. Skúste tento riadok zakomentovať (na začiatok riadku vložte apostrof) a niekoľkokrát spustite postup – ale nenechajte sa uniesť!

Kliknite pravým tlačidlom myši na bunku a uvidíte viacero výskytov položky ponuky Zmeniť veľkosť písmen. Zbavte sa všetkých položiek spustením DeleteFromShortcut viackrát (raz pre každú ďalšiu položku ponuky).

Nakoniec potrebujete spôsob, ako pridať položku ponuky skratiek pri otvorení zošita a odstrániť položku ponuky pri zatvorení zošita. Je to jednoduché. Stačí pridať tieto dve procedúry udalostí do modulu kódu ThisWorkbook:

Private Sub Workbook_Open()
Zavolajte AddToShortCut
End Sub
Súkromný podriadený zošit_pred zatvorením (zrušiť ako boolovský)
Zavolajte DeleteFromShortcut
End Sub

Procedúra Workbook_Open sa spustí pri otvorení zošita a procedúra Workbook_BeforeClose sa spustí pred zatvorením zošita. Presne to, čo lekár nariadil.

Čo sa líši v Exceli 2013 a Exceli 2016?

Ak ste používali VBA na prácu s ponukami skratiek v Exceli 2007 alebo staršom, musíte si uvedomiť významnú zmenu.

Ak v minulosti váš kód upravil ponuku skratiek, táto úprava bola účinná pre všetky zošity. Ak ste napríklad pridali novú položku do ponuky po kliknutí pravým tlačidlom myši na bunku, táto nová položka sa zobrazí po kliknutí pravým tlačidlom myši na bunku v ľubovoľnom zošite (a v ďalších zošitoch, ktoré otvoríte neskôr). Inými slovami, na aplikačnej úrovni boli vykonané zmeny v ponuke skratiek .

Excel 2013 a Excel 2016 používajú jediné rozhranie dokumentu, ktoré ovplyvňuje kontextové ponuky. Zmeny, ktoré vykonáte v ponukách skratiek, ovplyvnia iba aktívne okno zošita. Keď spustíte kód, ktorý upraví ponuku skratiek, ponuka skratiek pre iné okná ako aktívne okno sa nezmení. Toto je radikálny odklon od toho, ako veci fungovali.

Ďalší zvrat: Ak používateľ otvorí zošit (alebo vytvorí nový zošit), keď sa v aktívnom okne zobrazí upravená ponuka skratiek, nový zošit zobrazí aj upravenú ponuku skratiek. Inými slovami, nové okná zobrazujú rovnaké kontextové ponuky ako okno, ktoré bolo aktívne pri otvorení nových okien.

Zrátané a podčiarknuté: Ak ste v minulosti otvorili zošit alebo doplnok, ktorý upravoval ponuky skratiek, mohli ste si byť istí, že upravené ponuky skratiek budú dostupné vo všetkých zošitoch. Túto istotu už nemáte.

Vytvorte si vlastné kontextové ponuky v Accesse 2007

Okno návrhu makra sa v Accesse 2007 líši v porovnaní s novšími verziami, takže ak používate Access 2007, rozbaľte nasledujúce sekcie a postupujte podľa nich.

Krok 1 pre Access 2007: Vytvorte skupinu makier, ktorá obsahuje príkazy ponuky

V tomto kroku vytvoríte skupinu makier, z ktorých každé makro bude samostatným príkazom v ponuke skratiek.

Čo je makroskupina?

Skupina makier je jeden objekt makier, ktorý obsahuje dve alebo viac nezávislých makier. Jednotlivé makrá sa identifikujú zadaním názvu každého makra do stĺpca Názvy makier. Na nasledujúcom obrázku  je makro3  skupina makier. NotFoundMsg  a  FoundMsg  sú samostatné makrá v rámci skupiny, pričom každé makro pozostáva z dvoch akcií makra.

Príklad skupiny makier

Poznámka:  Stĺpec  Názov makra  je predvolene skrytý. Ak chcete zobraziť  stĺpec Názov makra  , na  karte Návrh  v  skupine Zobraziť/skryť  kliknite na  položku Názvy makier .

  1. Na  karte Vytvoriť  v  skupine Iné  kliknite na  položku Makro . Ak tento príkaz nie je k dispozícii, kliknite na šípku pod  tlačidlom Modul  alebo  Modul triedy  a potom kliknite na  položku Makro .

  2. Na  karte Návrh  v   skupine  Zobraziť/skryť kliknutím na položku Názvy makier  zobrazíte  stĺpec Názov makra  .

  3. Pre každý príkaz, ktorý chcete mať vo svojej vlastnej ponuke skratiek:

    • Do  stĺpca Názov makra  zadajte text, ktorý chcete zobraziť v ponuke skratiek (napríklad „Vytlačiť zostavu“ alebo „Uložiť“).

      Poznámka:  Ak chcete vytvoriť prístupový kľúč, aby ste mohli použiť klávesnicu na výber príkazu, zadajte ampersand (&) pred písmeno, ktoré má byť prístupovým kľúčom v názve príkazu (napríklad „&Uložiť“). Toto písmeno bude v ponuke podčiarknuté.
    • V  stĺpci Akcia  vyberte prvú akciu, ktorú chcete vykonať po kliknutí na príkaz v kontextovej ponuke.

    • Ak existuje viac akcií, ktoré chcete vykonať, keď vyberiete tento príkaz, pridajte ich do nasledujúcich riadkov. Pre každú nasledujúcu akciu ponechajte  bunku Názov makra  prázdnu.

      Poznámka:  Ak chcete vytvoriť čiaru medzi dvoma príkazmi ponuky, napíšte spojovník (-) do  stĺpca Názov makra  medzi príslušnými príkazmi ponuky.
  4. Uložte a pomenujte makro, napríklad   mcrShortcutMenuCommands .

Nasledujúci obrázok zobrazuje príklad skupiny makier pre vlastnú ponuku alebo ponuku skratiek.

Skupina makier ponuky v návrhovom zobrazení

Krok 2 pre Access 2007: Vytvorte makro, ktoré vytvorí ponuku

Tento krok sa môže zdať nadbytočný, ale ak chcete vytvoriť ponuku skratiek zo skupiny makier, ktorú ste vytvorili v kroku 1, musíte vytvoriť druhé makro, ktoré obsahuje  akciu makra AddMenu  . Toto makro sa niekedy nazýva „makro ponuky“.

  1. Na  karte Vytvoriť  v  skupine Iné  kliknite na  položku Makro . Ak tento príkaz nie je k dispozícii, kliknite na šípku pod  tlačidlom Modul  alebo  Modul triedy  a potom kliknite na  položku Makro .

  2. V prvom riadku makra vyberte  AddMenu  v  zozname Action  .

  3. V  časti Argumenty akcie zadajte do poľa  Názov ponuky  názov ponuky (napríklad „Príkazy zostavy“). Tento argument sa nevyžaduje, ale odporúča sa, ak v kroku 3 plánujete pridať ponuku na kartu Pás s nástrojmi (napríklad kartu Doplnky  formulára  alebo zostavy). Ak sa ponuka pridá ako skratka v kroku 3,  argument Názov ponuky  sa ignoruje.

  4. Do  poľa Názov makra ponuky  zadajte názov makra, ktoré ste vytvorili v kroku 1.

  5. Uložte a pomenujte makro, napríklad  mcrAddShortcutMenu .

Nasledujúca ilustrácia zobrazuje príklad makra ponuky, ktoré vytvára ponuku, ktorú sme navrhli v kroku 1.

Makro ponuky v zobrazení návrhu

Krok 3 pre Access 2007: Pripojte ponuku k ovládaciemu prvku, formuláru, zostave alebo databáze

V závislosti od toho, kde sa má ponuka zobraziť, použite jeden alebo viacero z nasledujúcich postupov.

  • Pridajte ponuku na kartu Doplnky formulára alebo zostavy

    Tento postup použite, ak chcete, aby sa ponuka zobrazila na  karte Doplnky  pre konkrétny formulár alebo zostavu, ako je znázornené na nasledujúcom obrázku:

    Karta Doplnky obsahujúca vlastnú ponuku

    1. Na navigačnej table kliknite pravým tlačidlom myši na formulár alebo zostavu, kde sa má zobraziť ponuka, a potom kliknite na položku  Návrhové zobrazenie .

    2. Na  karte Návrh  v  skupine Zobraziť/skryť  kliknite na  položku Hárok vlastností .

    3. Vyberte celý objekt výberom položky  Formulár  alebo  Správa  zo zoznamu v hornej časti pracovnej tably Hárok vlastností.

    4. Na   karte  Iné na hárku vlastností zadajte do poľa vlastností ponuky  skratiek názov makra, ktoré ste vytvorili v kroku 2 (v tomto príklade „mcrAddShortcutMenu“).

      Pri ďalšom otvorení formulára alebo zostavy sa   na páse s nástrojmi zobrazí karta Doplnky . Kliknutím na kartu zobrazíte ponuku.

      Ďalšie informácie o technikách prispôsobenia pása s nástrojmi, ako je pridávanie vlastných kariet alebo skrytie predvolených kariet, nájdete v článku  Vytvorenie vlastného pásu s nástrojmi v Accesse .

      Pás s nástrojmi je súčasťou používateľského rozhrania Microsoft Office Fluent.

  • Pridajte ponuku ako ponuku skratiek pre formulár, zostavu alebo ovládací prvok

    Tento postup použite, ak chcete, aby sa ponuka zobrazila po kliknutí pravým tlačidlom myši na konkrétny formulár, zostavu alebo ovládací prvok, ako je znázornené na nasledujúcom obrázku:

    Jednoduché menu skratiek

    1. Na navigačnej table kliknite pravým tlačidlom myši na formulár alebo zostavu, kde sa má zobraziť kontextová ponuka, a potom kliknite na položku  Návrhové zobrazenie .

    2. Na  karte Návrh  v  skupine Zobraziť/skryť  kliknite na  položku Hárok vlastností .

    3. Vyberte ovládací prvok alebo objekt, ku ktorému chcete pripojiť ponuku skratiek.

      Poznámka:  Ak chcete vybrať celý objekt, vyberte  Formulár  alebo  Správa  zo zoznamu v hornej časti pracovnej tably Hárok vlastností.

    4. Na  karte Iné  na hárku vlastností  zadajte do poľa vlastností Panela  s odkazmi názov makra, ktoré ste vytvorili v kroku 2 (v tomto príklade „mcrAddShortcutMenu“).

  • Pridajte ponuku ako globálnu ponuku skratiek

    Tento postup nahradí všetky predvolené ponuky skratiek v aktuálnej databáze. Vlastné kontextové ponuky, ktoré ste pripojili ku konkrétnym formulárom, zostavám alebo ovládacím prvkom, nie sú ovplyvnené.

    1. Kliknite na  tlačidlo Microsoft Office  a potom kliknite na  položku Možnosti prístupu .

    2. V   dialógovom okne  Možnosti programu Access kliknite na položku Aktuálna databáza .

    3. V časti  Možnosti pásu a panela s nástrojmi zadajte do poľa   Panel s odkazmi názov makra, ktoré ste vytvorili v kroku 2 (v tomto príklade „mcrAddShortcutMenu“).

  • Vlastné ponuky skratiek nahrádzajú predvolené ponuky skratiek pre objekty, ku ktorým sú pripojené. Ak chcete zachovať určité príkazy programu Access na použitie v týchto ponukách, použite  akciu Spustiť  príkaz na vloženie príkazov do skupín makier pre ponuky, v ktorých ich chcete mať.

  • Vlastná kontextová ponuka, ktorá je pripojená k ovládaciemu prvku, nahrádza všetky ostatné vlastné kontextové ponuky, ktoré sú definované v databáze. Vlastná kontextová ponuka, ktorá je pripojená k formuláru alebo zostave, nahrádza vlastnú globálnu kontextovú ponuku.

  • Keď zadáte makro ponuky pre formulár alebo zostavu alebo pre databázu, Access spustí toto makro ponuky vždy, keď sa otvorí formulár, zostava alebo databáza. Ak vykonáte zmeny v makre ponuky alebo skupine makier, ktorá definuje jeho príkazy, keď je formulár, zostava alebo databáza otvorený, musíte formulár, zostavu alebo databázu zavrieť a znova ich otvoriť, aby ste videli zmeny.

  • Ak chcete vytvoriť podponuku, podľa kroku 1 vytvorte samostatnú skupinu makier, ktorá obsahuje iba príkazy podponuky. Potom znova postupujte podľa kroku 1 a definujte príkazy pre ponuku vyššej úrovne. Pridajte podponuku ako položku do skupiny makier vyššej úrovne pomocou  akcie makra AddMenu  . Nasledujúci obrázok zobrazuje skupinu makier pre ponuku, ktorá obsahuje podponuku, a potom zobrazuje výslednú ponuku skratiek. Tretí riadok v skupine makier vytvára  podponuku Exportovať do...  ( mcrSubMenu ).

    Ponuka skratiek, ktorá obsahuje podponuku

    Pomocou akcií AddMenu  v skupinách makier pre každú úroveň ponuky môžete vytvoriť viacero úrovní podponuky  . Nezabudnite zadať hodnotu pre  argument Názov ponuky  pre každú  akciu AddMenu  , inak sa podponuka zobrazí ako prázdny riadok v ponuke vyššej úrovne.

  • Podmienky makra sú podporované iba v makre ponuky najvyššej úrovne. Inými slovami, môžete použiť podmienku v makre ponuky na určenie toho, či sa zobrazí konkrétna ponuka alebo kontextová ponuka, ale iba pre ponuky na najvyššej úrovni. Podmienky nemôžete použiť na zobrazenie alebo skrytie príkazov alebo podmenu v ponukách. Môžete tiež použiť podmienku na skrytie alebo zobrazenie vlastnej ponuky skratiek alebo globálnej ponuky skratiek.

  • Makro ponuky, ktoré vytvoríte v kroku 2, môže byť voliteľne súčasťou skupiny makier. Napríklad, ak máte niekoľko ponúk skratiek pre rôzne objekty alebo ovládacie prvky, môžete vytvoriť jeden objekt makra, ktorý obsahuje všetky potrebné makrá ponuky. Nezabudnite zobraziť  stĺpec Názov makra  a zadajte jedinečný názov pre každé makro. V kroku 3 použite na označenie makra nasledujúci zápis:  názov_skupiny makra.názov_makra . Napríklad  mcrAddShortcutMenus.AddMenu2 .


Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime iba na čítanie v systéme Windows

Ako zablokovať Microsoft Word otváranie súborov v režime len na čítanie v systéme Windows Microsoft Word otvára súbory v režime len na čítanie, takže ich nie je možné upravovať? Nebojte sa, metódy sú uvedené nižšie

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť nesprávnu tlač dokumentov Microsoft Word

Ako opraviť chyby pri tlači nesprávnych dokumentov Microsoft Word Chyby pri tlači dokumentov Word so zmeneným typom písma, chaotickými odsekmi, chýbajúcim textom alebo strateným obsahom sú pomerne časté. Avšak, nie

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Vymažte kresby perom a zvýrazňovačom na svojich PowerPointových snímkach

Ak ste použili pero alebo zvýrazňovač na kreslenie na powerpointové snímky počas prezentácie, môžete si kresby uložiť pre ďalšiu prezentáciu alebo ich vymazať, aby ste pri ďalšom zobrazení začali s čistými powerpointovými snímkami. Ak chcete vymazať kresby perom a zvýrazňovačom, postupujte podľa týchto pokynov: Vymazanie riadkov jedna na […]

Obsah knižnice štýlov v SharePointe 2010

Obsah knižnice štýlov v SharePointe 2010

Knižnica štýlov obsahuje súbory CSS, súbory XSL (Extensible Stylesheet Language) a obrázky používané preddefinovanými vzorovými stránkami, rozloženiami strán a ovládacími prvkami v SharePointe 2010. Ak chcete nájsť súbory CSS v knižnici štýlov publikačnej lokality: Vyberte Akcie lokality→Zobraziť Všetok obsah stránky. Zobrazí sa obsah stránky. Knižnica štýlov sa nachádza v […]

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Formátovanie čísel v tisíckach a miliónoch v správach Excel

Nezahlcujte svoje publikum obrovskými číslami. V programe Microsoft Excel môžete zlepšiť čitateľnosť svojich tabúľ a zostáv formátovaním čísel tak, aby sa zobrazovali v tisíckach alebo miliónoch.

Ako zdieľať a sledovať lokality SharePoint

Ako zdieľať a sledovať lokality SharePoint

Zistite, ako používať nástroje sociálnych sietí SharePoints, ktoré umožňujú jednotlivcom a skupinám komunikovať, spolupracovať, zdieľať a spájať sa.

Ako previesť dátumy do Julianových formátov v Exceli

Ako previesť dátumy do Julianových formátov v Exceli

Juliánske dátumy sa často používajú vo výrobných prostrediach ako časová pečiatka a rýchla referencia pre číslo šarže. Tento typ kódovania dátumu umožňuje maloobchodníkom, spotrebiteľom a servisným zástupcom identifikovať, kedy bol produkt vyrobený, a teda aj vek produktu. Juliánske dátumy sa používajú aj v programovaní, armáde a astronómii. Rôzne […]

Ako vytvoriť Access Web App

Ako vytvoriť Access Web App

V Accesse 2016 môžete vytvoriť webovú aplikáciu. Čo je to teda webová aplikácia? Web znamená, že je online a aplikácia je len skratka pre „aplikáciu“. Vlastná webová aplikácia je online databázová aplikácia, ku ktorej sa pristupuje z cloudu pomocou prehliadača. Vytvárate a udržiavate webovú aplikáciu vo verzii pre počítače […]

Panel rýchleho spustenia v SharePointe 2010

Panel rýchleho spustenia v SharePointe 2010

Väčšina stránok v SharePointe 2010 zobrazuje zoznam navigačných prepojení na paneli Rýchle spustenie pozdĺž ľavej strany stránky. Panel Rýchle spustenie zobrazuje prepojenia na odporúčaný obsah lokality, ako sú zoznamy, knižnice, lokality a publikačné stránky. Panel Rýchle spustenie obsahuje dva veľmi dôležité odkazy: Odkaz na celý obsah lokality: […]

Čo znamenajú chybové hlásenia v programe Excel?

Čo znamenajú chybové hlásenia v programe Excel?

Pre jednoduché problémy Riešiteľ v Exceli zvyčajne rýchlo nájde optimálne hodnoty premennej Riešiteľ pre cieľovú funkciu. V niektorých prípadoch má však Riešiteľ problém nájsť hodnoty premennej Riešiteľ, ktoré optimalizujú cieľovú funkciu. V týchto prípadoch Riešiteľ zvyčajne zobrazí hlásenie alebo chybové hlásenie, ktoré popisuje alebo diskutuje problém, ktorý […]