Pornirea înregistrării unei macrocomenzi

Înregistrarea unei macrocomenzi se pornește cu clic pe fila Developer de pe Ribbon, apoi clic pe butonul de înregistrare – Record Macro (Înregistrare macrocomandă).

De asemenea, butonul Macro Record se află și în bara de stare a aplicației în partea stângă.

Dacă butonul de înregistrare macrocomenzi nu este afișat în bara de stare, se poate afișa cu clic dreapta pe bara de stare și bifarea opțiunii Macro Recording (Înregistrare macrocomandă) din meniul contextual.

La clic pe butonul Record Macro, este afișată fereastra de dialog Record Macro. În câmpul Macro name este completat automat numele macrocomenzii (Macro1, Macro2 etc.).

Acest nume poate fi schimbat cu unul sugestiv. Opțional, se poate adăuga și o descriere în caseta text aflată sub Description.

Oprirea înregistrării macrocomenzii (Macro Recorder), se poate face cu clic pe butonul Stop Recording din eticheta Developer sau cu clic pe butonul pătrat din bara de stare, în partea stângă a ferestrei.

După oprirea înregistrării, butonul pătrat din bara de stare este înlocuit cu o pictogramă care arată că se poate începe înregistrarea unei macrocomenzi noi.

În Word pentru Mac, clic pe indicatorul REC în loc de dublu-clic.

Conținutul ferestrei de dialog Record Macro este diferit în Word față de Excel pentru a oferi opțiuni corespunzătoare fiecărei aplicații. În fiecare caz, se adaugă numele macrocomenzii și o descriere a acesteia. În majoritatea cazurilor, se poate specifica locația în care se va salva macrocomanda - de exemplu, Word oferă două opțiuni.

Pentru ca macrocomanda să fie valabilă în toate documentele Word (global), ea se va salva în fișierul numit Normal.dotm. Dacă macrocomanda va fi folosită doar în documentul activ, se alege salvarea într-un fișier care are numele documentului activ și extensia .dotm (document template macro). Un șablon Word obișnuit are extensia .dotx (document template), iar macrocomenzile sunt salvate într-un fișier cu extensia .dotm.

Excel permite salvarea macrocomenzii în trei moduri: salvarea în registrul de lucru activ, într-un registru nou sau pentru toate registrele de lucru Excel, în Personal Macro Workbook, acesta fiind echivalent cu fișierul Normal.dotm din Word. Registrul de lucru Personal Macro din Excel este salvat într-un fișier numit Personal.xlsb.

Unde sunt salvate macrocomenzile din PowerPoint

În versiunea PowerPoint 2016 nu se pot înregistra macrocomenzi, dar ele pot fi create scriind cod în Visual Basic Editor. Apoi acestea pot fi salvate în prezentarea activă sau în oricare altă prezentare deschisă sau ca șablon. PowerPoint pune la dispoziție un container global de stocare macrocomenzi (similar cu fișierul Normal.dotm din Word). În PowerPoint, se alege opțiunea All Open Presentations din lista cu macrocomenzi - Macro list box, care poate fi găsită cu click pe pictograma Macros din secțiunea Code a panglicii, în Developer.

Fereastra de dialog Record Macro permite specificarea modului în care se dorește să fie declanșată macrocomanda. Word afișează butoane de declanșare sau deschiderea unei ferestre de dialog pentru a folosi o combinație de taste.

Sau se deschide fereastra de dialog Word Options în care se poate crea un buton pentru acea macrocomandă care va apărea în bara cu instrumente Quick Access Toolbar. Excel limitează combinațiile de taste la Ctrl+tastă ca mod de lansare a macrocomenzilor, deci nu se poate adăuga un buton pentru a afișa fereastra de dialog cu taste rapide ca în Word. Excel afișează o casetă text mică în care se poate apăsa tasta care va fi combinată cu Ctrl pentru a forma combinația de taste rapide.

Majoritatea aplicațiilor Microsoft care găzduiesc VBA au eticheta Developer din care se poate controla înregistrarea macrocomenzii, lansarea aplicației Visual Basic Editor și administrarea macrocomenzilor.

În Access, instrumentele referitoare la macrocomenzi se află în eticheta Database Tools (care este implicit vizibilă) și are o opțiune Macro în eticheta Create.

Fila Dezvoltator de pe Panglica din Word

Caracteristicile Visual Basic din eticheta Developer (sau eticheta Database Tools din Access):

Butonul Run Macro - Doar Access are acest buton Ribbon. Afișează o fereastră de dialog Run Macro, în care se poate alege macrocomanda care va fi executată (rulată). Multe aspecte ale VBA din Access sunt unice aplicației Access.

Butonul Record Macro - Afișează fereastra de dialog Record Macro din Word sau Excel.

Butonul Macro Security - Afișează fereastra de dialog Trust Center Macro Settings. Acest buton permite să se specifice când și cum doriți ca să fie activate macrocomenzile.

Butonul Visual Basic - Comută la fereastra Visual Basic Editor.

Butonul Macros - Deschide fereastra de dialog Macros clasică din care se poate rula, inspecta edita, crea, șterge sau deschide fereastra de dialog macro project organizer. (Aceste opțiuni nu sunt valabile în toate aplicațiile. De exemplu, PowerPoint nu are Organizer.) Word și Excel au un buton similar Macros în eticheta View. Acest buton are abilitatea de a deschide fereastra de dialog Macros dar poate și înregistra o macrocomandă. De reținut că modul Break se referă și la modul Step.

Add-Ins De aici se pot accesa șabloane. stiluri și biblioteca specializată pentru cod.

Controls - set de butoane de control care, la clic, inserează componente de tip user-interface - de exemplu, o listă drop-down - într-un document deschis. Componente similare pot fi adăugate la macrocomenzi create în editorul VBA.

Butonul Design Mode - Comută între modul Design și modul Regular. În modul Design, se pot adăuga sau edita controalele înglobate din documente. În modul Regular, se poate interacționa normal cu ajutorul controalelor (controalele pot accepta informații de la utilizator prin tastare sau clic de maus).

Butonul Properties - Acest buton este activat doar în modul Design. Permite editarea proprietăților documentului (cum ar fi ștergerea informațiilor personale).

Butonul XML - pentru lucrul cu structuri XML (Extensible Markup Language).

Butonul Restrict Editing - Permite specificarea tipului de formatare sau editare pe care le pot face alte persoane.

Butonul Document Template - Aici se poate vedea sau modifica șablonul curent, sau se pot modifica suplimentele (add-ins) sau șablonul global.

Limbajul XML

XML a devenit o industrie standard pentru stocarea și transmiterea datelor. Începând cu Office 2007, documentele din aplicațiile Office folosesc des XML. Astfel XML devine primul motiv pentru care documentele create în versiunile Office 2007, 2010, 2013 și 2016 nu mai sunt compatibile cu versiunile anterioare din Office, cum ar fi documentele Office 2003. Astfel, documentele vechi Office trebuie convertite la noile formate Office. Persoanele care încă folosesc versiuni vechi Office trebuie să instaleze Microsoft Office Compatibility Pack pentru Word, Excel și PowerPoint File Formats. Începând cu Word 2010, fișierele document sunt salvate cu extensia .docx, litera x reflectând formatul XML folosit de Office.

Numele unei Macrocomenzi

Numele pentru noua macrocomandă se tastează în caseta text Macro Name din fereastra de dialog Record Macro. Numele trebuie să respecte următoarele convenții:

  • Trebuie să înceapă cu o literă; după prima literă, poate conține litere sau numere.
  • Poate avea maxim 80 de caractere.
  • Poate conține caractere underscore, care sunt utile pentru a separa cuvintele, de exemplu Salvare_Fisier.
  • Nu poate conține spații, caractere pentru punctuație sau caractere speciale, cum ar fi ! sau *.

Denumirea și descrierea macrocomenzilor

Atunci când numărul de macrocomenzi create este mare, se recomandă ca acestea să fie organizate cu atenție, să li se dea nume sugestive și descrieri detaliate. Astfel, vor fi identificate mai rapid.

În editorul VBA, macrocomenzile nou înregistrate sunt plasate în partea de jos a listei. Aici pot fi redenumite și li se poate adăuga o descriere detaliată.

Tot în editorul VBA, imediat după linia cu Sub și numele macrocomenzii, se poate adăuga un comentariu care să descrie ce face acea macrocomandă (comentariul începe cu un apostrof și este ignorat de VBA la execuția codului):

Sub AdaugareImaginiInTabel()
'macrocomanda construieste un tabel cu 2, 3 sau 4 coloane (numarul este specificat de utilizator)
'apoi preia in ordine crescatoare imaginile dintr-un folder indicat de utilizator
'si le adauga in tabel. Codul complet se afla pe pagina
'https://sites.google.com/site/trucuriword/home/macrocomenzi/inserare-de-imagini-in-tabel-cu-doua-sau-trei-coloane 
'am folosit si adaptat codul de pe pagina
'http://www.vbaexpress.com/forum/showthread.php?44473-Insert-Multiple-Pictures-Into-Table-Word-With-Macro
'initial, codul era gandit pentru doua coloane
 
Dim nrcol As String 
End Sub

Apostroful din fața comentariului indică faptul că urmează un comentariu. Scopul comentariului este de a ajuta programatorul să înțeleagă codul care urmează să fie executat de VBA.

Nume de macrocomenzi incorecte

Dacă numele ales pentru o macrocomandă este incorect, Word și Excel afișează mesaje de atenționare.

Descrierea macrocomenzii

Descrierea din caseta Description are scopul de a explica utilizatorului ce face acea macrocomandă. Dacă macrocomanda rulează doar în anumite condiții, acestea trebuie notate pe scurt în caseta Description. De exemplu, dacă utilizatorul trebuie să facă o selecție în document înainte de a rula macrocomanda, acest lucru ar trebui menționat în caseta Description.

Unde sunt stocate macrocomenzile

Word

Pentru ca macrocomanda să poată fi folosită doar în șablonul (fișierul .dotm) sau în documentul curent (fișierul .docm), în fereastra de dialog Record Macro, lista Store Macro in, se alege acel șablon sau document.

Pentru ca macrocomanda să fie valabilă în orice document, în lista Store Macro in se alege All Documents (Normal.dotm).

Excel

Macrocomanda poate fi salvată în:

    • Personal Macro Workbook (un registru special numit Personal.xlsb). Excel crează Personal Macro Workbook prima dată când utilizatorul alege să salveze o macrocomandă în Personal Macro Workbook. Macrocomenzile stocate aici pot fi folosite în orice alt registru de lucru. Registrul Personal Macro Workbook din Excel este similar cu fișierul Normal.dotm din Word.
    • într-un registru nou (New Workbook) - Excel crează un registru nou în care va adăuga macrocomanda.
    • registrul curent (This Workbook).

Salvarea macrocomenzilor

Word și Excel salvează automat macrocomenzile într-o locație implicită a docu­mentului, șablonului, registrului sau prezentării:

Word

Word salvează macrocomenzile înregistrate într-un modul numit NewMacros din șablonul sau documentul curent. Acest lucru poate fi destul de confuz, pentru că în Visual Basic Editor, panoul Project Explorer pot apărea mai multe directoare NewMacros. (Acest lucru se întâmplă atunci când sunt deschise mai multe documente simultan și fiecare din ele are propriul director NewMacros.)

NewMacros poate fi considerat ca o zonă în care sunt stocate macrocomenzile. Acestea pot fi mutate ulterior în alt modul cu un nume mai sugestiv.

Dacă modulul NewMacros nu există încă, aplicația Macro Recorder îl va crea la prima macrocomandă înregistrată. Modulul NewMacros din șablonul global Normal .dotm, conține toate macrocomenzile înregistrate, cu excepția celor care au fost salvate într-un alt document sau șablon. Unii utilizatori golesc din când în când modulul NewMacros, punând macrocomenzile înregistrate în alte module.

Excel

Excel salvează macrocomenzile înregistrate în module noi numite Module n, unde n este un număr dat de VBA în ordine crescătoare (Module1, Module2 etc). Și în Excel macrocomenzile pot fi copiate separat și redenumite pentru a nu le amesteca cu alte module.

Word. Descrierea fișierelor Normal.dotm, Templates și Documents

Începând cu versiunea 2007, Word salvează datele diferit comparativ cu versiunile mai vechi și folosește 3 tipuri de șabloane:

    • Șabloanele Legacy din Word 2003 și versiunile mai vechi, care au extensia .dot. La lucrul cu aceste șabloane, în bara de titlu este afișat textul (Compatibility Mode).
    • Șabloanele care nu conțin macrocomenzi au extensia .dotx (apărute odată cu Word 2010). În aceste șabloane pot fi folosite macrocomenzi, dar acestea nu pot fi salvate în șablon.
    • Șabloane cu extensia .dotm care conțin macrocomenzi. Ele pot face orice face un șablon .dotx , dar au și posibilitatea de a păstra macrocomenzi.

Word are o arhitectură pe 4 straturi. Pornind de jos, aceste straturi sunt: aplicația însăși, șablonul global (Normal.dotm), șablonul documentului active și documentul activ însuși (text și formatare). Fiecare din aceste 4 straturi pot afecta modul în care arată și se comportă Word, dar nu toate cele 4 straturi sunt necesar active la un moment dat.

Stratul de jos, mereu activ, este aplicația Word. Acest strat conține toate obiectele Word și comenzile din Word, de exemplu Open, bara cu instrumente etc.

De asemenea, mereu active sunt și elementele din stratul al doilea: fișierul Normal.dotm și șablonul global.

La pornirea Word, acesta încarcă automat șablonul Normal.dotm, iar Normal.dotm rămâne încărcat până la închiderea aplicației Word. (La depanarea Word, acesta poate fi pornit cu comanda winword /n, pentru a evita pornirea macrocomenzilor în Normal.dotm.

Normal.dotm conține stilurile, lista cu cuvinte din AutoText, lista din AutoCorrect și personalizările.

Documentele noi din Word se bazează pe șablonul Normal.dotm. Când se lucrează într-un document nou, interfața Word este cea specificată în Normal.dotm.

Șablonul activ în mod curent se află în partea de sus a aplicației Word și a șablonului Normal.dotm. Acest șablon conține stiluri, module de macrocomenzi (dacă tipul de fișier este.dotm – permite macrocomenzi) și setările pentru șablon, împreună cu textul necesar pentru acest tip de document. Acesta este cel de al treilea strat, dar este folosit doar dacă documentul curent (sau documentul activ) este atașat la un șablon altul decât Normal.dotm.

În partea de sus a șablonului curent se află documentul curent, care conține textul și elementele grafice din document, formatarea și aspectul documentului. Documentele pot de asemenea să conțină module de macrocomenzi specifice, taste rapide personalizate, astfel încât documentul însuși se poate comporta ca un al patrulea strat. Acest strat este prezent mereu atunci când este deschis un document, dar nu are effect asupra interfeței sau comportamentului aplicației Word, cu excepția cazul în care documentul conține propriile presonalizări locale.

Deoarece aceste straturi ar putea conține informații conflictuale (cum ar fi două stiluri de fonturi diferite cu același nume), trebuie să existe un ordin de prioritate pentru a specifica care strat "câștigă" în orice astfel de conflict. Setările personalizate funcționează de la stratul superior în jos, astfel încât setările personalizate din documentul activ au prioritate față de cele din șablonul activ. De asemenea, orice setări din șablonul activ au prioritate față de orice șabloane globale (șabloane care se aplică în mod automat pentru toate documentele Word) sau alte programe de completare decât Normal.dotm. Setările personalizate din aceste șabloane globale sau adiționale au prioritate față de cele din Normal.dotm.

De exemplu, să presupunem că am ales combinația de taste Ctrl + Shift + K atribuită diferitelor acțiuni în Normal.dotm, într-un șablon global încărcat, în șablonul unui document și în documentul însuși. La apăsarea combinației de taste, se execută numai procedura atribuită în document, deoarece acesta este stratul superior. Dacă se elimină atribuirea combinației de chei din document, șablonul devine cel mai de sus strat conținând o definiție a acestei combinații de taste, așa că se execută procedura atribuită în șablon. Dacă se elimină și combinația de taste din șablon, se va executa procedura din șablonul global încărcat. În cele din urmă, dacă se elimină combinația de taste a șablonului, se execută procedura în Normal.dotm. Este stratul cel mai de jos.

Cum poate fi rulată o macrocomandă nouă

Continuând explorarea ferestrei de dialog Record Macro, după ce se dă un nume și o descriere pentru macrocomandă și se alege locația în care va fi stocată, se poate alege și modul în care va fi declanșată macrocomanda. Altfel zis, cum va fi rulată macrocomanda: folosind o combinație de taste rapide sau un buton din bara cu instrumente Quick Access Toolbar? De obicei se folosesc combinațiile de taste (sunt mai rapide, pentru că utilizatorul va folosi doar tastatura), dar butoanele oferă și un ajutor vizual referitor la scopul macrocomenzii și mutând mausul deasupra butonului, este afișat și numele macrocomenzii.

Combinația de taste și butoanele sunt ușor de folosit de către cei care înregistrează un număr moderat de macrocomenzi și nu le organizează în moduri complexe – mutându-le de la un modul la altul.

În cazul în care se lucrează cu un număr mai mare de macrocomenzi și este nevoie ca acestea să fie mutate în alte module, atribuirea unor combinații de taste sau de butoane devine mai puțin utilă. Aceasta pentru că mutarea unei macrocomenzi de la un modul la altul va elimina modul de declanșare a macrocomenzii.

În acest caz, abia după mutarea și redenumirea macrocomenzii, i se va atribui o combinație de taste sau un buton.

Administrarea macrocomenzilor în module

Prin mutarea macrocomenzilor înregistrate în diferite module, macrocomenzile se pot grupa pentru a le compara codul, a le edita și a le distribui mai ușor.

Excel limitează combinațiile de taste la Ctrl+tastă sau Ctrl+Shift+tastă. PowerPoint și Access nu per­mit atribuirea de combinații de taste la macrocomenzi.

Pornirea unei macrocomenzi din panglică - Ribbon

Chiar dacă nu este disponibilă în caseta de dialog Record Macro, butonul pentru o macrocomandă se poate adăuga în panglică astfel:

  1. Clic dreapta oriunde pe panglică - Ribbon.
  2. Din meniul rapid, clic pe Customize The Ribbon. Este afișată fereastra de dialog Word Options.
  3. În lista Choose Commands From, se selectează Macros.
  4. Clic pe numele unei macrocomenzi pentru a o selecta din listă.
  5. Clic pe o etichetă existentă din lista cu etichete din partea dreaptă a ferestrei de dialog pentru a specifica locația în care se va afla butonul pentru macrocomandă.
  6. Apoi clic pe butonul New Group și se specifică numele noului grup particularizat.
  7. Clic pe butonul Rename pentru a dat noului grup un nume sugestiv.
  8. Clic OK pentru a închide fereastra de dialog Rename.
  9. Clic pe butonul Add pentru a adăuga macrocomanda la grup.
  10. Clic pe butonul Rename pentru a da macrocomenzii un nume ușor de intuit și optional o pictogramă sugestivă.
  11. Clic OK pentru a închide fereastra de dialog Rename.
  12. Clic pe OK pentru a închide fereastra de dialog Word Options.

Rularea unei macrocomenzi din bara de instrumente Quick Access Toolbar

Iată cum se poate folosi fereastra de dialog Word Options pentru a atribui o macrocomandă unui buton în bara cu instrumente the Quick Access Toolbar (Bară de instrumente Acces rapid):

  1. Clic dreapta pe bara cu instrumente Quick Access (setul de pictograme aflat în partea stângă sus, de obicei peste Ribbon) și apare un menu rapid. Această bară cu instrumente poate fi plasată și sub Ribbon dacă din meniul activat cu clic pe săgeata din dreapta a barei s-a ales optiunea Show Quick Access Toolbar Below The Ribbon (Afișare dedesubtul Panglicii).
  2. Clic Customize Quick Access Toolbar (Particularizare Panglică) din meniul rapid. Este afișată fereastra de dialog Word Options.
  3. În lista Choose Commands From (Alegere comenzi de la), se selectează Macros (Macrocomenzi).
  4. Clic pe numele macrocomenzii pentru a o selecta din listă.
  5. Clic pe butonul Add (Adăugare) pentru a insera numele macrocomenzii în lista Customize Quick Access Toolbar (Particularizare bară de instrumente Acces rapid).
  6. Word adaugă un buton la bara cu instrumente pentru acea macrocomandă , dând butonului numele detaliat al macrocomenzii (locație și nume), de exemplu Normal.NewMacros.tabel. Acest nume este format din numele șablonului sau al documentului în care se află macrocomanda, numele modulului care conține macrocomanda și numele macrocomenzii.
  7. Pentru a redenumi butonul sau elementul din meniu, clic pe butonul Modify (Modificare) din partea de jos a listei din partea dreaptă a ferestrei. Va fi modificată doar macrocomanda care este evidențiată (selectată) în lista cu elemente.
  8. Odată cu modificarea numelui afișat pentru buton, se poate alege și o altă pictogramă, cu clic pe oricare pictogramă, apoi clic pe OK pentru confirmare modificări.

Numele afișat al butonului pentru macrocomandă (apare atunci când se mută cursorul de maus deasupra lui) nu are nicio legătură cu numele macrocomenzii din Visual Basic Editor sau din fereastra de dialog Macro.

Rularea unei macrocomenzi folosind o combinație de taste

Pentru a atribui macrocomenzii o combinație de taste:

    1. Clic dreapta pe Ribbon și din meniul rapid se alege Customize The Ribbon (Particularizare Panglică). Word afișează fereastra de dialog Word Options.
    2. În partea stângă jos a ferestrei, după Keyboard Shortcuts (Comenzi rapide de la tastatură), clic pe butonul Customize (Particularizare).
    3. Este afișată fereastra pentru particularizare combinații de taste. Se derulează lista Categories (Categorii) până la Macros (Macrocomenzi), apoi clic pe Macros.
    4. În lista din stânga, clic pe numele macrocomenzii căreia i se va atribui combinația de taste.
    5. Se verifică lista cu combinații de taste (Current Keys - Taste curente) pentru a vedea dacă macrocomanda are deja atribuită o combinație de taste. Combinația de taste poate fi ștearsă cu tasta Backspace, sau se pot adăuga mai multe combinații de taste pentru a porni macrocomanda.
    6. În câmpul Press New Shortcut Key (Apăsați noua tastă comenzi rapide), se tastează direct combinația de taste care va fi folosită pentru a declanșa macrocomanda.
    7. Dacă combinația de taste este deja folosită pentru o altă acțiune, Word afișează sub câmpul Current Keys (Taste curente) un mesaj. Se poate reatribui combinația de taste sau se poate șterge combinația aleasă apăsând tasta Backspace în câmpul Press New Shortcut Key și alege o altă combinație de taste.
    8. La final, clic pe butonul Assign (Asociere). Atenție: închiderea acestei ferestre de dialog fără clic pe acest buton, nu va asocia combinația de taste la macrocomanda aleasă.

Găsirea combinațiilor de taste rapide implicite

O listă completă cu combinațiile de taste (cum ar fi Ctrl+săgeată stânga) poate fi găsită în Help (F1) la o căutare cu "." (În Office 2016 se poate folosi și căutarea în caseta Tell Me What You Want To Do din Ribbon, partea dreaptă.)

După înregistrare, macrocomanda poate fi executată folosind butonul sau combinația de taste atribuite (dacă există). Alternativ, clic pe butonul Macros din eticheta Developer și executarea macrocomenzii din fereastra de dialog Macros.

După oprirea înregistrării, Word stochează automat macrocomanda în Normal.dot (sau în destinația aleasă). Dar se recomandă și salvarea fișierului cu File – Save. Astfel, dacă Word sau Windows se blochează, se poate evita pierderea macrocomenzii.

Word poate fi forțat să salveze șablonul Normal

Word salvează implicit noile macrocomenzi în șablonul Normal. Pentru ca Word să întrebe dacă se preferă salvarea modificărilor în șablonul Normal, se accesează File - Options, clic pe butonul Advanced (Complex), apoi se derulează mai jos până la secțiunea cu opțiuni de salvare – Save (Salvare), se bifează caseta Prompt Before Saving Normal Template (Se întreabă înainte de a salva șablonul Normal), apoi click pe butonul OK.

Se poate amâna atribuirea unei combinații de taste

De reținut: Pentru a porni o macrocomandă, se poate atribui o combinație de taste, fie la înregistrarea macrocomenzii, fie după terminarea înregistrării. Dacă se dorește mutarea macrocomenzii din modulul NewMacros în alt modul, combinația de taste se va atribui abia după ce macrocomanda a fost mutată.

O combinație de taste în Word poate fi:

  • Tasta Alt plus o tastă funcțională sau o tastă normală care nu este folosită ca tastă în meniul principal.
  • Tasta Ctrl plus o tastă funcțională sau o tastă normală.
  • Tasta Shift plus o tastă funcțională.
  • Combinațiile Ctrl+Alt, Ctrl+Shift, Alt+Shift sau chiar Ctrl+Alt+Shift plus o tastă funcțională sau normală.

Specificarea combinațiilor de taste în două etape

Se pot alege și combinații de taste în doi pași, de exemplu, Ctrl+Alt+F, 1 și Ctrl+Alt+F, 2 - apăsând a doua tastă (în acest caz 1 sau 2) după apăsarea și eliberarea primei combinații de taste.

Rularea unei Macrocomenzi în varianta clasică

O altă modalitate pentru a rula o macrocomandă este cu clic pe fila Developer din Ribbon:

    1. Clic pe pictograma Macros.
    2. Clic pe numele macrocomenzii din lista afișată.
    3. La final, clic pe butonul Run (Executare).

Macrocomanda poate fi pornită și din Editorul Visual Basic, apăsând tasta F5. Acesta este modul în care testați macrocomenzile în timp ce le editați. La apăsarea tastei F5, VBA va executa macrocomanda în care se află cursorul (linia verticală intermitentă).

Modalități de rulare macrocomenzi în Excel

La înregistrarea unei macrocomenzi, Excel permite atribuirea doar a unei combinații de taste cu Ctrl, nu și a unui buton pentru a executa macrocomanda. Macrocomenzii i se poate atribui un buton în Quick Access Toolbar, dar numai după ce a fost înregistrată acea macrocomandă (folosind caracteristica Customize).

Pentru a atribui o combinație de taste cu Ctrl:

1. Se pornește înregistrarea macrocomenzii pentru a afișa fereastra de dialog Record Macro, apoi clic în caseta text Shortcut Key Ctrl+ și se tastează tasta care va fi folosită în combinație cu tasta CTRL. (Pentru a include și tasta Shift, se apasă Shift și tasta dorită.)

2. În lista Store Macro, se specifică locația în care Macro Recorder va stoca macrocomanda. Aceasta poate fi stocată în:

      • This Workbook – registrul de lucru activ. Această opțiune este utilă pentru macrocomenzile care aparțin unui anumit registru de lucru și nu este nevoie să fie folosite în altă parte.
      • New Workbook Excel creează un registru nou de lucru în care stochează macrocomanda. Această opțiune este utilă pentru macrocomenzi experimentale care trebuie editate înainte de a le încorpora în registrul activ.
      • Personal Macro Workbook stochează macrocomanda în Personal Macro Workbook, un registru de lucru special numit PERSONAL.XLSB. Macrocomenzile și personalizările păstrate în Personal Macro Workbook, pot fi accesate din orice registru de lucru. Personal Macro Workbook este asemănător cu Normal .dotm din Word. Dacă Personal Macro Workbook nu există, el va fi creat automat de Macro Recorder.

3. Clic pe butonul OK pentru a începe înregistrarea macrocomenzii.

Rularea macrocomenzilor în PowerPoint

PowerPoint nu permite înregistrarea macrocomenzilor, dar există o modalitate de rulare a macrocomenzilor scrise în Visual Basic Editor, descrisă mai jos.

Rularea macrocomenzilor în Outlook

Outlook nu permite înregistrarea macrocomenzilor și implicit acestea sunt dezactivate.

Pentru a activa rularea macrocomenzilor în Outlook, clic pe eticheta Developer tab din Ribbon, apoi clic pe pictograma Macro Security (se află în partea stângă, secțiunea Code de pe Ribbon).

Apare fereastra de dialog Trust Center. Clic pe una din opțiunile Notification For All Macros sau Enable All Macros. Modul de atribuire a unei macrocomenzi este descris mai jos.

Înregistrarea acțiunilor într-o macrocomandă

La închiderea ferestrei de dialog Record Macro din Word sau Excel (cu clic pe butonul OK), aplicația Macro Recorder începe să înregistreze macrocomanda. Aplicația Macro Recorder afișează în bara de stare (stânga jos) pictograma Stop Recording (un pătrat de culoare gri închis) și un buton Stop Recording în eticheta Developer din Ribbon). În plus, Word afișează un mic simbol ca o casetă de înregistrare la cursorul de maus (astfel de casete erau folosite pe vremuri, înainte de a fi inventat CD-ul).

În acest moment se pot realiza diferite acțiuni care vor fi înregistrate. Modul de lucru diferă de la o aplicație la alta, dar în general se folosește mausul pentru a selecta elemente, se fac diferite alegeri în ferestrele de dialog și se selectează diverse elemente din documente (cum ar fi celulele din Excel). Însă unele lucruri nu pot fi făcute cu mausul, de exemplu selectarea de elemente dintr-un document în Word. Pentru a selecta elemente într-un document Word, trebuie să se folosească tastatura (de exemplu combinația de taste Shift+tastele săgeți).

Aplicația Macro Recorder înregistrează orice acțiune

Atunci când se fac alegeri într-o fereastră de dialog și se face clic pe butonul OK, aplicația Macro Recorder înregistrează setările din acel moment pentru toate opțiunile de pe acea pagină și din fereastra de dialog.

De exemplu, atunci când se modifică indentarea la stânga a unui paragraf din fereastra de dialog Paragraph din Word, aplicația Macro Recorder va înregistra toate celelalte setări care se află în eticheta Indents And Spacing (Alignment, Spacing - Before and After și celelalte).

În Word, pentru a face acțiuni care nu trebuie înregistrate, se poate pune pe pauză aplicația Macro Recorder cu clic pe butonul Pause Recording de pe Ribbon. Butonul se modifică în Resume Recording. Apoi se poate face clic din nou pe buton pentru a relua înregistrarea.

Pentru a opri înregistrarea, clic fie pe butonul Stop Recording de pe Ribbon, fie pe cel aflat în bara de stare.

După oprirea aplicației Macro Recorder, toate acțiunile sunt înregistrate într-o macrocomandă căreia i se poate asocia o combinație de taste sau un buton.

Rularea unei macrocomenzi

Pentru a rula o macrocomandă deja înregistrată, pot fi folosite patru metode:

  • Cu ajutorul unui buton din Quick Access Toolbar, dacă a fost asociat unul.
  • Cu ajutorul butonului din Ribbon, dacă există.
  • Cu ajutorul unei combinații de taste.
  • Prin apăsarea combinației de taste Alt+F8 pentru a afișa fereastra de dialog Macros, selectarea macrocomenzii și clic pe butonul Run. (Alternativ, se poate face dublu clic pe numele macrocomenzii din lista cu macrocomenzi.)

Rularea unei macrocomenzi din fereastra Editor

Macrocomenzile pot fi pornite și din fereastra Visual Basic Editor, care este utilă la lucrul în Editor, prin apăsarea tastei F5.

După pornire, macrocomanda este executată, realizând acțiunile înregistrate. De exemplu, să presupunem dacă o macrocomandă din Excel conține diferite comenzi (de selectare unei celule din foaia de lucru curentă, introducerea unui text în acea celulă, formatarea ei, selectarea altei celule, introducerea unui număr etc.), VBA va executa foarte rapid comenzile, una după alta, la fiecare rulare a macrocomenzii.

Cum se poate opri executarea unei macrocomenzi

Pentru a opri rularea unei macrocomenzi se apasă combinația de taste Ctrl+Break (tasta Break / Pause se află pe tastatură în partea dreaptă sus). VBA oprește rularea codului și afișează o fereastră de dialog în care informează utilizatorul că executarea codului a fost întreruptă.

Unele aplicații (cum ar fi Word) permit anularea comenzilor executate de VBA după întreruperea executării macrocomenzii (apăsând combinația de Ctrl+Z sau cu clic pe butonul Undo din bara Quick Access Toolbar, anulând pe rând, câte o comandă); în alte aplicații nu este posibilă anularea comenzilor.

Erorile din macrocomenzi apar din cauza contextului diferit

Dacă la executarea unei macrocomenzi apare o eroare, este posibil ca macrocomanda să încerce să execute o comandă asupra unui fișier sau a unui obiect care nu poate fi găsit.

De exemplu, după înregistrarea unei macrocomenzi în Excel care lucrează într-o foaie de lucru activă, la executarea macrocomenzii, Excel afișează o eroare când nu este deschisă nicio foaie de lucru (pentru că Excel nu găsește nicio foaie de lucru activă).

La fel, în cazul unei macrocomenzi care face modificări la a treia formă din diapozitivul activ (slide) din prezentarea PowerPoint, apare o eroare la executarea ei dacă nu există o a treia formă în diapozitiv (slide). Pentru ca macrocomanda să fie executată corect, trebuie create din nou condițiile care existau în momentul scrierii macrocomenzii.