Sunteți pe pagina 1din 5

DE LA BIROTICĂ LA PROGRAMARE

Mariana-Ioana Dindelegan
Liceul de Informatică „Tiberiu Popoviciu” Cluj-Napoca

Rezumat: VBA este o versiune a limbajului de programare Visual Basic și este orientat pe obiecte și
evenimente. Acest limbaj a fost proiectat special pentru macrocomenzile din aplicațiile Microsoft Office și este
perfect pentru a îmbina elementele de programare cu cele de operare pe calculator. Articolul prezintă tipurile de
subprograme utilizate în VBA și următoarele trei exemple de aplicații realizate la orele de TIC: contorizarea
aparițiilor unui caracter într-un document Word, jocul „Mingi” realizat în PowerPoint și funcția apelată în Excel
pentru conversia gradelor zecimale în măsuri unghiulare de tipul unghiuri, minute, secunde.

Deseori, elevii își doresc ca algoritmii pe care îi scriu la orele de informatică să aibă o
interfață ușor de realizat. Alții își doresc ca, la orele de tehnologia informației și a comunicațiilor
(TIC), să aibă parte și de programare, nu doar de operare pe calculator. Datorită lor, am introdus
în orele de TIC noțiuni de programare în VBA.
Pachetul Microsoft Office oferă utilizatorilor posibilitatea de a-și eficientiza munca
folosind elemente de programare în Visual Basic for Applications (VBA). VBA este o versiune a
limbajului de programare Visual Basic și este orientat pe obiecte și evenimente. Acest limbaj a
fost proiectat special pentru macrocomenzile din aplicații, permițând înregistrarea
macrocomenzilor și atașarea lor la butoane, fie în interiorul unui document, fie într-un meniu sau
într-o bară de instrumente. De asemenea, permite crearea casetelor de dialog, prin glisarea
controalelor corespunzătoare într-un document. Alte instrumente vizuale permit personalizarea
meniurilor și barelor de instrumente, astfel încât utilizatorul are tot ce-i trebuie pentru a crea
scripturi simple, fără a scrie linii de cod. Textul sursă este organizat în unități de program de tip
procedură sau funcție și este memorat în module. Un modul conține unul sau mai multe proceduri
sau funcții și o singură secțiune de declarații de variabile și constante globale (McFedries, 2006).
Procedurile se definesc prin cuvântul cheie Sub și conțin, de obicei, instrucțiuni
echivalente cu opțiunile de meniu și cu alte comenzi din program. Cele mai uzuale tipuri de
proceduri sunt macrocomezile. Ceea ce deosebește macrocomenzile este faptul că, la fel ca orice
comandă obișnuită din aplicații, au efect asupra mediului de lucru. Indiferent dacă formatează un
text, tipăresc un document sau creează meniuri personalizate, macrocomenzile schimbă ceva.
Funcțiile definite de utilizator, prin cuvântul cheie Function, operează la fel ca funcțiile
integrate într-un program. Caracteristica acestor funcții este că acceptă valori de intrare (denumite
argumente), apoi folosesc aceste valori în calcule și returnează un rezultat. Funcția nu are efect
asupra mediului în care este aplicată.
În continuare, sunt prezentate câteva exemple realizate cu elevii la orele de TIC.
Exemplu cu module VBA în Microsoft Word
În Figura 1, este dat un exemplu de funcție care contorizează numărul de instanțe ale unui
caracter specificat într-un obiect Word. Funcția are numele NrCaractere() și este apelată în
procedura TestNrCaractere() pentru documentul curent și un caracter preluat de la tastatură.

Figura 1. Module VBA în Microsoft Word.

Executarea subrutinei TestNrCaractere() se realizează accesând butonul Macros din fila


Developer. Efectul ei este prezentat în Figura 2 și constă în:
 Preluarea valorii caracterului c de la utilizator, ca în imaginea din partea stângă.
 Afișarea valorii returnate de funcția NrCaractere(), apelate pentru documentul curent
și caracterul dat de la tastatură, după cum se observă în a imaginea din dreapta.

Figura 2. Efectul subrutinei TestNrCaractere().


Exemplu de aplicație VBA în Microsoft PowerPoint
În Figura 3, este prezentată interfața jocului „Mingi”, realizat cu ajutorul aplicației
PowerPoint. Utilizatorul are la dispoziție un minut pentru a efectua click pe cât mai multe mingi
animate din al doilea slide. În primul slide apar informații despre punctajul obținut la atingerea
fiecărei mingi, în funcție de culoare: mingea verde valorează 1 punct, cea galbenă – 2 puncte, iar
cea roșie – 3 puncte.

Figura 3. Jocul „Mingi”, realizat în Microsoft PowerPoint

Pentru fiecare culoare s-a definit o procedură, care crește valoarea etichetei Label1, ce
reprezintă punctajul obținut. Astfel, pentru mingile de culoare verde, s-a definit procedura
Green(), pentru cele de culoare galbenă s-a definit procedura Yellow(), iar pentru cele de culoare
roșie – procedura Red(), prezentate în Figura 4.

Figura 4. Proceduri VBA pentru calculul scorului în jocul „Mingi”

Când expiră timpul dedicat jocului propriu-zis, utilizatorul are ocazia să vizualizeze
punctajul obținut, prin accesarea butonului Scorul tău, apoi să părăsească jocul, prin apăsarea pe
butonul EXIT, care pot fi observate în Figura 5. Procedura care se apelează la accesarea
butonului Scorul tău este Score(), iar cea care se apelează pentru butonul EXIT este Reset().
Codul acestor proceduri este prezentat în Figura 6.

Figura 5. Diapozitivul care apare la Figura 6. Procedurile pentru butoanele „Scorul tău” și „EXIT”.
sfârșitul jocului „Mingi”.

Exemplu de funcție VBA apelată în Microsoft Excel


Măsurile unghiulare sunt frecvent exprimate în grade, minute şi secunde. Pentru a
simplifica anumite calcule matematice, există posibilitatea de a exprima măsuri unghiulare în
grade zecimale. Funcţia prezentată în Figura 7 primește ca parametru valoarea zecimală a unui
unghi şi îi efectuează conversia în grade, minute şi secunde.

Figura 7. Funcția de conversie a unei valori zecimale în grade, minute și secunde.


În Figura 8, este exemplificat apelul funcției în Excel:

Figura 8. Apelul funcției Transf_Grade() în Microsoft Excel.

Elevii se declară plăcut surprinși când descoperă existența și avantajele VBA-ului și, după
ce își formează deprinderi de programare în VBA, propun idei de noi aplicații, cum ar fi: quiz cu
scor în PowerPoint, extragerea informațiilor din CNP-ul unei persoane în Excel sau accesarea
automată a unui motor de căutare pentru cuvinte selectare în documente Word.
După cum se observă, tehnologia informației și a comunicațiilor își găsește aplicabilitate
și în informatică astfel încât, de la birotică la programare este doar un pas, pe care îl poate face
orice persoană dornică să beneficieze de conexiunile dintre aceste două domenii.

Bibliografie:
Getting started with Excel VBA. I Programmer. [Interactiv] [Citat: 3 12 2017.]
http://www.i-programmer.info/ebooks/automating-excel/1264-getting-started.html?start=1.
McFedries, P. 2006. VBA. Ghid pentru începători. București: Editura Teora, 2006.
2017. VBA Examples. tips.NET. [Interactiv] Sharon Parq Associates, Inc., 2017. [Citat: 3
12 2017.] https://word.tips.net/C0012_VBA_Examples.html.

S-ar putea să vă placă și