Macrocomenzi

O macrocomandă este formată dintr-o serie de comenzi şi instrucţiuni scrise în limbajul de programare Visual Basic.

Scopul instrucţiunilor este de a îndeplini în mod automat o activitate şi li se poate asocia un buton de comandă care poate fi adăugat alături de celelalte butoane din interfaţa Word.

Exemple de instrucţiuni care pot fi executate automat:

- formatarea documentului (dimensiune pagină, margini, tip de font folosit);

- căutarea unor anumite cuvinte şi modificarea acestora - cu alte cuvinte şi/sau formatarea acestora;

- decuparea automată a imaginilor;

- introducerea unor elemente grafice, rotirea acestora;

- adaugare text în document

- compararea a două sau mai multe documente, etc.

Detalii despre modul de lucru cu macrocomenzi folosind limbajul de programare VBA, pe https://sites.google.com/view/macrocomenzi-vba-office-2016/pagina-de-pornire.

Aplicaţia Visual Basic se instalează de obicei odată cu pachetul Office şi poate fi accesată din Word cu combinaţia de taste Alt+F11.

Visual Basic for Applications

Instrucţiunile se scriu în fereastra Code (dacă nu este vizibilă, poate fi accesată din meniu View - Code sau cu tasta F7).

Comenzile dintr-o macrocomandă (subrutină) pot fi rulate:

- deodată (Run Macro - tasta F5);

- pas-cu-pas (Step Into - tasta F8), pentru verificarea codului scris;

- "pe sărite" (se pot sări secvenţe/blocuri de cod - Shift+F8);

- pornind de la poziţia cursorului (Ctrl+F8).

Depanare macrocomenzi

Macrocomenzile pot fi realizate:

- prin înregistrarea operaţiilor - Record macro (în acest caz nu este necesară experienţa în programare);

- prin scriere de cod VB (necesită anumite cunoştinţe de programare în mediul aplicaţiilor Office).

Macrocomenzile mai pot fi realizate şi de la simplu la complex, începând cu înregistrarea unei macrocomenzi, apoi continuând cu modificarea codului Visual Basic din macrocomandă.

Codul unei macrocomenzi din Visual Basic începe de obicei cu cuvintele Sub nume_subrutina() şi se încheie cu End Sub.

În cod, pentru explicarea unei instrucţiuni, pot fi introduse şi comentarii. Acestea încep cu simbolul ' şi sunt ignorate la rularea codului.

Pentru testarea comportamentului unor instrucţiuni, în Word se pot insera automat paragrafe-test tastând, de exemplu

=rand(5,5)

după care se apasă tasta Enter.

Ca rezultat, Word va insera în document 5 paragrafe cu câte 5 fraze fiecare. Apoi, în editorul VBA se pot testa diferite comenzi.

Deschiderea unui fişier Word care conţine macrocomenzi

Office 2003 – activarea macrocomenzii

De obicei în aplicaţia Word din Office 2003 macrocomenzile sunt dezactivate, nivelul de securitate fiind setat la High (nivel înalt). La deschiderea fişierului poate să apară un mesaj de atenţionare, iar macrocomanda din fişier este dezactivată.

Dacă în Word nivelul de securitate este setat la Medium, butonul Enable Macros este activ, iar la deschiderea unui fişier care conţine o macrocomandă, este afişată o casetă de dialog care permite activarea macrocomenzii din fişier. 

Pentru a seta nivelul de securitate la Medium, din meniu Tools – Macro – Security

se alege opţiunea Medium (cu Medium se poate alege între rularea sau nu a macrocomenzilor potenţial nesigure).

Office 2007 sau mai nou – activarea macrocomezii

La deschiderea unui fişier care conţine o macrocomandă, deasupra riglei pot să apară două atenţionări:

1. prima, Protected View, dacă fişierul este descărcat de pe Internet şi este afişat doar în mod protejat. Pentru a putea edita fişierul, click pe butonul Enable Editing.

2. a doua, Security Warning, pentru că fişierul conţine o macrocomandă - macrocomanda se activează cu click pe butonul Enable Content.

Exportul unei macrocomenzi

Macrocomenzile scrise în Word pot fi exportate ca fișiere cu extensia .bas pentru a putea fi ulterior importate în altă aplicație Office.

Mod de lucru:

Din Word, apăsând combinația de taste Alt+F11 se deschide aplicația Microsoft Visual Basic for Applications.

Dacă în partea stângă nu apare fereastra Project Explorer, se apasă combinația de taste Ctrl+R (sau din meniu, View - Project Explorer) pentru a o afișa.

Se caută în fereastra Project Explorer macrocomanda care va fi exportată (în imaginea de mai jos, Module 1).

Se selectează macrocomanda și se exportă din meniu File - Export File... sau cu combinația de taste Ctrl+E.

În fereastra de dialog Export File se alege destinația și numele fișierului exportat.

Word. Export macro

Importul unei macrocomenzi externe în Word

Macrocomenzile pot fi importate în Word, ca să poată fi folosite oricând este nevoie de ele.

Atenție! Unele macrocomenzi pot fi dăunătoare computerului. Se recomandă să se importe doar macrocomenzile obținute din surse de încredere.

Din Word, apăsând combinația de taste Alt+F11 se deschide aplicația Microsoft Visual Basic for Applications.

Dacă în partea stângă nu apare fereastra Project Explorer, se apasă combinația de taste Ctrl+R (sau din meniu, View - Project Explorer) pentru a o afișa.

Pentru ca macrocomanda importată în Word să fie valabilă pentru toate documentele, se face click pe Normal

Word import macro

Din meniu File - Import File... sau cu combinația de taste Ctrl+M, va fi afișată fereastra de dialog Import File, apoi se alege fișierul care va fi importat (de tip frm, bas sau cls).

Se salvează modificările cu Ctrl+S sau din meniu cu File - Save și se închide aplicația Microsoft VBA.

Ulterior, macrocomanda poate fi accesată din Word:

- cu combinația de taste Alt+F8, click pe numele macrocomenzii și click pe butonul Run;

- cu ajutorul unei combinații de taste (care nu sunt deja atribuite în Word, de ex. Alt+S) sau a unui buton, care se asociază macrocomenzii (descrierea în Butoane personalizate pentru macrocomenzi).

Ștergerea unei macrocomenzi din Word

Pentru ștergerea unei macrocomenzi din Word:

- se deschide aplicatia Microsoft VBA cu combinația de taste Alt+F11;

- în fereastra Project Explorer, se caută macrocomanda:

   a. dacă macrocomanda este valabilă pentru toate documentele, ea se găsește în stilul Normal - click pe butonul + din stânga și alegerea macrocomenzii din subdirectorul Modules;

   b. dacă macrocomanda este valabilă doar pentru documentul deschis, ea se găsește în subdirectorul Modules din Project;

- cu cursorul de mouse poziționat deasupra modulului, click pe butonul din dreapta și click pe Remove Module...

 - înainte de a șterge macrocomanda, Word afișează o fereastră de dialog care permite exportul macrocomenzii (butonul Yes); cu click pe butonul No, macrocomanda va fi ștearsă din Word fără salvarea macrocomenzii.

Word remove macro