Cum să personalizați meniurile de comandă rapidă Excel 2016 în VBA

Cum să personalizați meniurile de comandă rapidă Excel 2016 în VBA

Înainte de Excel 2007, programatorii VBA foloseau obiectul CommandBar pentru a crea meniuri personalizate, bare de instrumente personalizate și meniuri cu comenzi rapide personalizate (clic dreapta). Începând cu Excel 2007, obiectul CommandBar se află într-o poziție destul de ciudată. Dacă scrieți cod pentru a personaliza un meniu sau o bară de instrumente, Excel interceptează acel cod și ignoră multe dintre comenzile dvs.

În loc să vă afișeze îmbunătățirea bine gândită a interfeței, Excel 2007 (ca și versiunile ulterioare) pur și simplu vă aruncă meniurile și barele de instrumente personalizate într-o filă de tip Panglică, denumită Add-Ins.

Personalizările meniului și ale barei de instrumente ajung în grupul Add-ins → Menu Commands sau Add-ins → Custom Toolbars. Dar personalizarea meniurilor cu comenzi rapide (care folosește și obiectul CommandBar) funcționează în continuare așa cum a făcut-o întotdeauna - ei bine, într-un fel.

Concluzia? Obiectul CommandBar nu mai este foarte util, dar rămâne singura modalitate de personalizare a meniurilor cu comenzi rapide.

Adăugarea unui element nou în meniul de comenzi rapide Cell

Mai jos, veți găsi exemplu de cod care adaugă un nou element la meniul de comenzi rapide care apare când faceți clic dreapta pe o celulă. Ar trebui să puteți adapta aceste exemple la nevoile dvs.

Puteți îmbunătăți un pic utilitarul Schimbare caz făcându-l disponibil din meniul de comenzi rapide Cell.

Procedura AddToShortcut adaugă un nou element de meniu la meniul de comenzi rapide Cell. Îl puteți adapta pentru a indica propriile macrocomenzi modificând proprietățile Caption și OnAction ale obiectului numit NewControl.

Sub AddToShortCut()
  Dim Bar ca CommandBar
  Dim NewControl ca CommandBarButton
  DeleteFromShortcut
  Set Bar = Application.CommandBars(„Cell”)
  Setați NewControl = Bar.Controls.Add _
     (Tip:=msoControlButton, ID:=1, _
     temporar:=Adevărat)
  Cu NewControl
    .Caption = „&Schimbați majuscule”
    .OnAction = „ChangeCase”
    .Style = msoButtonIconAndCaption
  Se termina cu
End Sub

Când modificați un meniu cu comenzi rapide, modificarea rămâne în vigoare până când reporniți Excel. Cu alte cuvinte, meniurile de comenzi rapide modificate nu se resetează singure atunci când închideți registrul de lucru care conține codul VBA. Prin urmare, dacă scrieți cod pentru a modifica un meniu de comenzi rapide, aproape întotdeauna scrieți cod pentru a inversa efectul modificării dvs.

Procedura DeleteFromShortcut elimină noul element de meniu din meniul de comenzi rapide Cell:

Sub DeleteFromShortcut()
  La eroare Reluați Următorul
  Application.CommandBars(„Celula”).Controale _
    („&Schimbă majuscule”).Șterge
End Sub

Aceasta arată cum a fost afișat noul element de meniu după ce faceți clic dreapta pe o celulă.

Cum să personalizați meniurile de comandă rapidă Excel 2016 în VBA

Meniul de comandă rapidă Celulă care arată un element de meniu personalizat: Schimbați majuscule.

Prima comandă reală după declararea câtorva variabile apelează procedura DeleteFromShortcut. Această declarație asigură că în meniul de comandă rapidă Celulă apare un singur element de meniu Schimbare caz. Încercați să comentați acea linie (puneți un apostrof la începutul liniei) și să rulați procedura de câteva ori - dar nu vă lăsați dus de cap!

Faceți clic dreapta pe o celulă și puteți vedea mai multe instanțe ale elementului de meniu Modificare caz. Scăpați de toate intrările rulând DeleteFromShortcut de mai multe ori (o dată pentru fiecare element suplimentar de meniu).

În cele din urmă, aveți nevoie de o modalitate de a adăuga elementul de meniu cu comenzi rapide atunci când registrul de lucru este deschis și de a șterge elementul de meniu când registrul de lucru este închis. Este ușor să faci asta. Doar adăugați aceste două proceduri de eveniment la modulul de cod ThisWorkbook:

Private Sub Workbook_Open()
Apelați AddToShortCut
End Sub
Private Sub Workbook_BeforeClose(Anulați ca boolean)
Apelați DeleteFromShortcut
End Sub

Procedura Workbook_Open este executată când registrul de lucru este deschis, iar procedura Workbook_BeforeClose este executată înainte ca registrul de lucru să fie închis. Exact ce a comandat medicul.

Ce este diferit în Excel 2013 și Excel 2016?

Dacă ați folosit VBA pentru a lucra cu meniuri de comenzi rapide în Excel 2007 sau o versiune anterioară, trebuie să fiți conștient de o schimbare semnificativă.

În trecut, dacă codul dvs. modifica un meniu de comenzi rapide, acea modificare era în vigoare pentru toate registrele de lucru. De exemplu, dacă ați adăugat un nou element în meniul pentru clic dreapta Celulă, acel nou articol va apărea când ați făcut clic dreapta pe o celulă din orice registru de lucru (plus alte registre de lucru pe care le deschideți mai târziu). Cu alte cuvinte, modificările meniului de comenzi rapide au fost făcute la nivel de aplicație .

Excel 2013 și Excel 2016 folosesc o singură interfață pentru document, iar aceasta afectează meniurile cu comenzi rapide. Modificările pe care le faceți meniurilor cu comenzi rapide afectează numai fereastra registrului de lucru activ. Când executați codul care modifică meniul de comenzi rapide, meniul de comenzi rapide pentru alte ferestre decât fereastra activă nu va fi schimbat. Aceasta este o abatere radicală de la modul în care funcționau lucrurile.

O altă întorsătură: dacă utilizatorul deschide un registru de lucru (sau creează un registru de lucru nou) când fereastra activă afișează meniul de comenzi rapide modificate, noul registru de lucru afișează și meniul de comenzi rapide modificate. Cu alte cuvinte, ferestrele noi afișează aceleași meniuri de comenzi rapide ca și fereastra care era activă când au fost deschise ferestrele noi.

Concluzie: în trecut, dacă ați deschis un registru de lucru sau un program de completare care a modificat meniurile de comenzi rapide, puteți fi sigur că meniurile de comenzi rapide modificate vor fi disponibile în toate registrele de lucru. Nu mai ai această asigurare.

Creați meniuri scurte personalizate în Access 2007

Fereastra de proiectare macro este diferită în Access 2007 comparativ cu versiunile ulterioare, așa că extindeți următoarele secțiuni pentru a le urma dacă utilizați Access 2007.

Pasul 1 pentru Access 2007: Creați un grup de macrocomenzi care conține comenzile de meniu

În acest pas, creați un grup de macrocomandă, fiecare macrocomandă din care va fi o comandă separată în meniul dvs. de comenzi rapide.

Ce este un macrogrup?

Un grup macro este un singur obiect macro care conține două sau mai multe macrocomenzi independente. Macrocomenzile individuale sunt identificate prin tastarea unui nume pentru fiecare macrocomandă în coloana Nume macrocomenzi. În ilustrația următoare,  Macro3  este un grup de macrocomenzi. NotFoundMsg  și  FoundMsg  sunt macrocomenzi individuale în cadrul grupului, fiecare macrocomandă constând din două acțiuni macro.

Exemplu de macrogrup

Notă:  Coloana  Nume macro  este ascunsă în mod implicit. Pentru a afișa  coloana Nume macrocomandă  , în  fila Design  , în  grupul Afișare/Ascunde  , faceți clic pe  Nume macrocomenzi .

  1. În  fila Creare  , în  grupul Altele  , faceți clic pe  Macro . Dacă această comandă nu este disponibilă, faceți clic pe săgeata de sub  butonul Module  sau  Modul de clasă  , apoi faceți clic pe  Macro .

  2. În  fila Design  , în  grupul Afișare/Ascunde  , faceți clic pe  Nume macrocomenzi  pentru a afișa  coloana Nume macrocomandă  .

  3. Pentru fiecare comandă pe care o doriți în meniul personalizat de comenzi rapide:

    • În  coloana Nume macrocomandă  , introduceți textul pe care doriți să-l afișați în meniul de comenzi rapide (de exemplu, „Tipărește raport” sau „Salvează”).

      Notă:  Pentru a crea o cheie de acces, astfel încât să puteți utiliza tastatura pentru a alege comanda, introduceți un ampersand (&) înainte de litera care doriți să fie cheia de acces în numele comenzii (de exemplu, „&Salvare”). Această scrisoare va fi subliniată în meniu.
    • În  coloana Acțiune  , selectați prima acțiune pe care doriți să o desfășurați când faceți clic pe comanda din meniul contextual.

    • Dacă există mai multe acțiuni pe care doriți să le efectuați atunci când selectați această comandă, adăugați-le în rândurile următoare. Pentru fiecare acțiune ulterioară, lăsați  necompletat celula Nume macrocomandă  .

      Notă:  Pentru a crea o linie între două comenzi de meniu, tastați o cratimă (-) în  coloana Nume macrocomandă  între comenzile de meniu corespunzătoare.
  4. Salvați și denumiți macrocomandă, de exemplu,   mcrShortcutMenuCommands .

Următoarea ilustrație arată un exemplu de grup de macrocomandă pentru un meniu personalizat sau un meniu cu comenzi rapide.

Un grup de macrocomenzi de meniu în vizualizarea Design

Pasul 2 pentru Access 2007: Creați o macrocomandă care creează meniul

Acest pas poate părea redundant, dar pentru a crea meniul de comenzi rapide din grupul de macrocomandă pe care l-ați creat la Pasul 1, trebuie să creați o a doua macrocomandă care să conțină acțiunea  macro AdăugareMeniu  . Această macrocomandă este uneori numită „macrocomandă de meniu”.

  1. În  fila Creare  , în  grupul Altele  , faceți clic pe  Macro . Dacă această comandă nu este disponibilă, faceți clic pe săgeata de sub  butonul Module  sau  Modul de clasă  , apoi faceți clic pe  Macro .

  2. Pe prima linie a macrocomenzii, selectați  AddMenu  din  lista Action  .

  3. Sub  Argumente de acțiune , în  caseta Nume meniu  , tastați numele meniului (de exemplu, „Comenzi de raportare”). Acest argument nu este necesar, dar este recomandat dacă, la Pasul 3, intenționați să adăugați meniul la o filă Panglică (cum ar fi fila  Suplimente  a unui formular sau raport). Dacă meniul este adăugat ca meniu cu comenzi rapide în Pasul 3,  argumentul Nume meniu  este ignorat.

  4. În  caseta Menu Macro Name  , introduceți numele macrocomenzii pe care ați creat-o la Pasul 1.

  5. Salvați și denumiți macrocomandă, de exemplu,  mcrAddShortcutMenu .

Următoarea ilustrație arată un exemplu de macrocomandă de meniu care creează meniul pe care l-am proiectat la Pasul 1.

O macrocomandă de meniu în vizualizarea Design

Pasul 3 pentru Access 2007: Atașați meniul unui control, formular, raport sau bază de date

În funcție de locul în care doriți să apară meniul, utilizați una sau mai multe dintre următoarele proceduri.

  • Adăugați meniul la fila Add-Ins a unui formular sau raport

    Utilizați această procedură dacă doriți ca meniul să apară în  fila Suplimente  pentru un anumit formular sau raport, așa cum se arată în următoarea ilustrație:

    Fila Add-in-uri care conține un meniu personalizat

    1. În panoul de navigare, faceți clic dreapta pe formularul sau raportul în care doriți să apară meniul, apoi faceți clic pe  Vizualizare proiect .

    2. În  fila Design  , în  grupul Afișare/Ascunde  , faceți clic pe  Foaia de proprietăți .

    3. Selectați întregul obiect selectând  Formular  sau  Raport  din lista din partea de sus a panoului de activități Foaia de proprietăți.

    4. În  fila Altele  din Foaia de proprietăți, în  caseta de proprietate Meniu scurtătură  , tastați numele macrocomenzii pe care ați creat-o la Pasul 2 (în acest exemplu, „mcrAddShortcutMenu”).

      Data viitoare când deschideți formularul sau raportul,  fila Suplimente  va apărea în Panglică. Faceți clic pe fila pentru a vedea meniul.

      Pentru mai multe informații despre tehnicile de personalizare a panglicii, cum ar fi adăugarea de file personalizate sau ascunderea filelor implicite, consultați articolul  Creați o panglică personalizată în Access .

      Panglica este o componentă a interfeței de utilizator Microsoft Office Fluent.

  • Adăugați meniul ca meniu cu comenzi rapide pentru un formular, raport sau control

    Utilizați această procedură dacă doriți ca meniul să apară când faceți clic dreapta pe un anumit formular, raport sau control, așa cum se arată în următoarea ilustrație:

    Un meniu simplu cu comenzi rapide

    1. În panoul de navigare, faceți clic dreapta pe formularul sau raportul în care doriți să apară meniul de comenzi rapide, apoi faceți clic pe  Vizualizare proiect .

    2. În  fila Design  , în  grupul Afișare/Ascunde  , faceți clic pe  Foaia de proprietăți .

    3. Selectați controlul sau obiectul la care doriți să atașați meniul de comenzi rapide.

      Notă:  Pentru a selecta întregul obiect, selectați  Formular  sau  Raport  din lista din partea de sus a panoului de activități Foaia de proprietăți.

    4. În  fila Altele  din Foaia de proprietăți, în  caseta de proprietate Bara de meniuri rapide  , tastați numele macrocomenzii pe care ați creat-o la Pasul 2 (în acest exemplu, „mcrAddShortcutMenu”).

  • Adăugați meniul ca meniu global cu comenzi rapide

    Această procedură înlocuiește toate meniurile implicite de comenzi rapide din baza de date curentă. Meniurile cu comenzi rapide personalizate pe care le-ați atașat la anumite formulare, rapoarte sau controale nu sunt afectate.

    1. Faceți clic pe  butonul Microsoft Office  și apoi faceți clic pe  Opțiuni de acces .

    2. În  caseta de dialog Opțiuni de acces  , faceți clic pe  Baza de date curentă .

    3. Sub  Opțiuni de panglică și bară de instrumente , în  caseta Bară de meniu cu comenzi rapide  , tastați numele macrocomenzii pe care ați creat-o la Pasul 2 (în acest exemplu, „mcrAddShortcutMenu”).

  • Meniurile cu comenzi rapide personalizate înlocuiesc meniurile cu comenzi rapide implicite pentru obiectele la care sunt atașate. Dacă doriți să păstrați anumite comenzi Access pentru a le utiliza în aceste meniuri, utilizați  acțiunea RunCommand  pentru a pune comenzile în grupurile de macro pentru meniurile în care doriți să le folosiți.

  • Un meniu cu comenzi rapide personalizate care este atașat unui control înlocuiește orice alte meniuri cu comenzi rapide personalizate care sunt definite în baza de date. Un meniu cu comenzi rapide personalizate care este atașat unui formular sau raport înlocuiește un meniu cu comenzi rapide personalizate global.

  • Când specificați o macrocomandă de meniu pentru un formular sau raport sau pentru baza de date, Access rulează această macrocomandă de meniu ori de câte ori este deschis formularul, raportul sau baza de date. Dacă faceți modificări macrocomenzii de meniu sau grupului de macrocomenzi care își definește comenzile în timp ce formularul, raportul sau baza de date este deschisă, trebuie să închideți formularul, raportul sau baza de date și să o redeschideți pentru a vedea modificările.

  • Pentru a crea un submeniu, urmați Pasul 1 pentru a crea un grup de macrocomandă separat care conține numai comenzile submeniului. Apoi, urmați din nou Pasul 1 pentru a defini comenzile pentru meniul de nivel superior. Adăugați submeniul ca element în grupul de macrocomandă de nivel superior utilizând  acțiunea de macrocomandă AddMenu  . Următoarea ilustrație arată grupul de macrocomandă pentru un meniu care conține un submeniu și apoi arată meniul de comenzi rapide rezultat. A treia linie din grupul de macrocomandă creează  submeniul Export To...  ( mcrSubMenu ).

    Un meniu cu comenzi rapide care conține un submeniu

    Puteți crea mai multe niveluri de submeniuri utilizând  acțiunile AddMenu  din macrogrupurile pentru fiecare nivel de meniu. Asigurați-vă că furnizați o valoare pentru  argumentul Nume meniu  pentru fiecare  acțiune AddMenu  , altfel submeniul va apărea ca o linie goală în meniul de nivel superior.

  • Condițiile macro sunt acceptate numai în macrocomanda meniului de nivel superior. Cu alte cuvinte, puteți utiliza o condiție dintr-o macrocomandă de meniu pentru a determina dacă va fi afișat un anumit meniu sau meniu cu comenzi rapide, dar numai pentru meniurile de la nivelul superior. Nu puteți folosi condiții pentru a afișa sau ascunde comenzi sau submeniuri din meniuri. De asemenea, puteți utiliza o condiție pentru a ascunde sau afișa un meniu cu comenzi rapide personalizate sau un meniu global cu comenzi rapide.

  • Opțional, macrocomandă de meniu pe care o creați la Pasul 2 poate face parte dintr-un grup de macrocomenzi. De exemplu, dacă aveți mai multe meniuri de comenzi rapide pentru diferite obiecte sau controale, puteți crea un singur obiect macro care conține toate macrocomenzile necesare pentru meniu. Asigurați-vă că afișați  coloana Nume macrocomandă  și introduceți un nume unic pentru fiecare macrocomandă. În Pasul 3, utilizați următoarea notație pentru a vă referi la macro:  macrogroupname.macroname . De exemplu,  mcrAddShortcutMenus.AddMenu2 .


Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet este o platformă de lucru dinamică care vă permite să gestionați proiecte, să creați fluxuri de lucru și să colaborați cu echipa dvs.

SharePoint

SharePoint

SharePoint este un sistem de colaborare bazat pe web care utilizează o varietate de aplicații pentru fluxul de lucru, baze de date „liste” și alte componente web, precum și caracteristici de securitate pentru a oferi control grupurilor de afaceri care lucrează împreună.

Calendar perpetuu 1.0.38/1.0.36

Calendar perpetuu 1.0.38/1.0.36

Calendarul Van Nien este o aplicație de vizualizare a calendarului pe telefonul dvs., care vă ajută să vedeți rapid data lunisolară pe telefon, aranjandu-vă astfel munca importantă.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook este o aplicație de afaceri și productivitate dezvoltată de Microsoft Corporation.

ClickUp

ClickUp

ClickUp este una dintre cele mai bine cotate platforme de productivitate pentru orice afacere. Companiile mari precum Google, Booking.com, San Diego Padres și Uber folosesc toate ClickUp pentru a crește productivitatea la locul de muncă.

PDF-XChange Viewer 2.5.322.10

PDF-XChange Viewer 2.5.322.10

PDF a devenit un format folosit în mod obișnuit pentru citirea, crearea și trimiterea documentelor text. La rândul său, s-a înregistrat o creștere a numărului de programe utilizate pentru acest tip de documentație. PDF-XChange Viewer se numără printre un număr tot mai mare de vizualizatoare PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice oferă o suită completă de aplicații Office care rivalizează cu Microsoft 365, în special în Excel, PowerPoint și Word. Vă permite să vă gestionați proiectele mai eficient și acceptă mai multe formate de fișiere.

Descărcați iTaxviewer 1.8.7

Descărcați iTaxviewer 1.8.7

Software-ul iTaxViewer este cel mai popular software de citire a fișierelor XML în prezent. Acest software este o aplicație de citire a declarațiilor fiscale electronice în format XML ale Direcției Generale de Fiscalitate.

Nitro PDF Reader

Nitro PDF Reader

Nitro PDF Reader este un editor PDF la îndemână care acoperă toate sarcinile de bază pe care majoritatea oamenilor le efectuează în fiecare zi cu documente PDF.

Foxit Reader 12

Foxit Reader 12

Foxit Reader este în primul rând un cititor PDF și vă permite, de asemenea, să creați fișiere PDF, să le semnați, să le editați și să adăugați adnotări. Functioneaza pe sisteme de operare, exista plugin-uri pentru diverse programe din pachetul Microsoft Office.