Sunteți pe pagina 1din 7

Programarea Aplicaiilor Grafice

Laborator 1

Laborator 1
Cuprins
1.

Obiective.......................................................................................................................................... 2

2.

Prezentare general ........................................................................................................................ 2

3.

Visual Basic for Applications ............................................................................................................ 2


3.1 nregistrarea macro-urilor Word ................................................................................................... 3
3.1.1 Probleme de rezolvat ............................................................................................................. 4
3.3 Configurarea editorului de texte Microsoft Word 2007 pentru rularea macro-urilor .................. 4
3.3.1 Exemple .................................................................................................................................. 5

4.

Teme propuse spre rezolvare .......................................................................................................... 6

5.

Microsoft Visual Basic 2010............................................................................................................. 7

Programarea Aplicaiilor Grafice

Laborator 1

1. Obiective

Introducere VBA
Lucrul cu macro-comenzi n editorul de texte MS Word 2007
Lucrul cu macro-comenzi n editorul de foi de lucru MS Excel 2007
Prezentarea unor exemple VBA
Dezvoltarea unor aplicaii VBA
Familiarizarea cu mediul de programare Microsoft Visual Basic
2010
Dezvoltarea aplicaiilor Windows folosind Microsoft Visual Studio
2010
Lucrul cu formulare

2. Prezentare general
Microsoft a creat limbajul Visual Basic i apoi a creat alte dou limbaje, care se
bazeaz pe funcionaliti Visual Basic: VBA (Visual Basic for Applications) i VBScript
(Visual Basic Scripting Edition). n consecin, un programator Visual Basic va nva foarte
repede s creeze aplicaii folosind celelalte dou limbaje de programare.

3. Visual Basic for Applications


Visual Basic for Applications (VBA) reprezint o implementare a limbajului
Microsoft Visual Basic, fiind un limbaj de programare dirijat de evenimente. n acelai timp,
se poate preciza faptul c VBA este un limbaj interpretat.
Microsoft a introdus VBA n 1993. Versiunea curent a VBA este versiunea 7.1,
lansat de Microsoft n simultan cu Office 2013.
VBA are asociat un mediu de dezvoltare care este integrat n aplicaii din pachetul
Microsoft Office, alte aplicaii Microsoft (Microsoft MapPoint, Microsoft Visio) i parial
integrat n alte aplicaii, cum ar fi, AutoCAD, WordPerfect. VBA permite dezvoltarea de
aplicaii n cadrul programelor amintite, putndu-se controla aproape toate funcionalitile
programului considerat, incluznd manipularea elementelor de interfa cu utilizatorul, cum ar
fi, meniuri i bare de instrumente, utilizarea casetelor de dialog predefinite sau personalizate
etc.. Astfel, de exemplu, folosind VBA se pot implementa diverse funcionaliti pentru
editorul de texte Word sau pentru programul de calcul tabelar Excel. De exemplu, se poate
dezvolta o funcie VBA care s nlocuiasc mai multe calcule complexe. Macro-urile Word
sau Excel sunt, de fapt, secvene de cod VBA. De exemplu, n Word aproape totul se bazeaz
pe macrouri. Dac se selecteaz butonul Save, de fapt se execut un macrou. Se poate spune
c n spatele fiecrui buton sau articol de meniu se ascunde cte un macrou. De fapt, un macro
Word reprezint o serie de comenzi Word sau instruciuni care sunt grupate mpreun i
ruleaz ca o singur comand. Tehnic vorbind un macro este asemeni unei proceduri, a unei
subrutine care poate fi apelat de cte ori se dorete.

Programarea Aplicaiilor Grafice

Laborator 1

3.1 nregistrarea macro-urilor Word


Pentru nregistrarea unui macro Word, care s permit automatizarea unor operaii, se
va selecta articolul Tools | Macro | Record New Macro. Pe ecran va fi afiat o caset de
dialog (Figur 1Figur 1) n care utilizatorul trebuie s stabileasc numele macro-ului, dac
dorete ca macro-ul s poat fi accesat n orice document Word, precum i o scurt descriere a
macro-ului. De asemenea, n aceast caset de dialog se poate atribui macro-ului o combinaie
de taste sau un buton pe bara de instrumente.

Figur 1. Fereastra pentru nregistrarea macro-urilor.

Din acest moment, se vor nregistra toate aciunile executate pn se va opri


nregistrarea macro-ului.

Figur 2. Bara de instrumente (Stop recording).

Oprirea nregistrrii macro-ului se poate realiza fie selectnd butonul Stop Recording
de pe bara de instrumente Stop recording (Figur 2Error! Reference source not found.), fie
selectnd articolul Tools | Macro | Stop recording.
Pentru a executa macro-ul nregistrat se poate opta pentru una din urmtoarele soluii:
se va tasta combinaia de taste asociat macro-ului;
se va selecta articolul de meniu Tools | Macro | Macros, ceea ce va avea ca efect
afiarea casetei de dialog Macros; se va selecta macro-ul dorit n lista macro-urilor
disponibile n documentul curent i se va apsa butonul Run.
Pentru vizualizarea codului VBA generat pentru macro-ul nregistrat, se va afia caseta
de dialog Macros, se va selecta macro-ul dorit n lista macro-urilor i se va apsa butonul
Edit.

Programarea Aplicaiilor Grafice

Laborator 1

3.1.1 Probleme de rezolvat

1.

Se1 va nregistra un macro disponibil doar n documentul curent, care


s permit stabilirea fontului la Arial, dimensiunea 14 puncte,
ngroat, nclinat i culoarea de scriere rou. Pentru acest macro se va
atribui combinaia de taste Ctrl+Alt+V. Se va executa macro-ul
nregistrat, aplicndu-l pe diferite texte selectate.
Se va vizualiza codul corespunztor macro-ului.
Trebuie precizat faptul c pentru a se putea edita cod VBA pentru
Word i Excel este necesar s se lucreze cu modulele asociate
documentului Word sau registrului de lucru Excel. Un modul conine
codul surs VBA. Modulul VBA este structurat pe seciuni:
seciune de declaraii aflat la nceput;
o seciune dedicat definirii procedurilor VBA.

3.3 Configurarea editorului de texte Microsoft Word 2007 pentru


rularea macro-urilor
Implicit, din motive de siguran, nu se permite rularea macro-urilor n Word. n cazul
n care este necesar execuia macro-urilor asociate unui document se va avea n vedere
setarea editorului de texte Word, astfel nct s se permit rularea macro-urilor. Pentru
aceasta, se acceseaz butonul Microsoft Office
, apoi butonul Word Options. n cutia de
dialog Word Options (Figur 3Figur 3Error! Reference source not found.) se selecteaz
opiunea de meniu Trust Center, apoi butonul Trust Center Settings.
.

Figur 3. Seciunea de dialog Trust Center.

n continuare se selecteaz opiunea de meniu Macro Settings, ceea ce va determina


afiarea opiunilor din (Figur 4), unde se permite stabilirea nivelului de securitate pentru
rularea macro-comenzilor.

Programarea Aplicaiilor Grafice

Laborator 1

Figur 4. Opiuni Macro Settings.

n aceast cutie de dialog se va marca butonul opiune Disable all macros with
notification i apoi se va confirma aplicarea nivelului de securitate ales prin selectarea
butonului OK.
La deschiderea fiierelor care conin macro-comenzi, se va afia bara de mesaje
(Figur 5) prin care utilizatorul poate accesa butonul Options, unde este ntrebat dac permite
activarea macro-urilor. Pentru a se putea executa macro-urile se va selecta butonul de
comand Enable this content.

Figur 5. Activarea macro-urilor.

3.3.1 Exemple

Pentru a urmri cteva aplicaii dezvoltate cu VBA, se vor deschide fiierele .doc:
Lab_PAG_01_[Anexa_VBA_01].doc
Lab_PAG_01_[Anexa_VBA_02].doc
Lab_PAG_01_[Anexa_VBA_03].doc.

Programarea Aplicaiilor Grafice

Laborator 1

4. Teme propuse spre rezolvare


1.

Se va deschide un nou document. . Se va activa tab-ul Developer (se


acceseaz butonul Microsoft Office
, apoi butonul Word Options, iar
n meniul Popular se activeaz caseta de validare Show Developer Tab in
the Ribbon) n care sunt disponibile grupul de controale prezentate n
(Figur 6).

Figur 6. Grupul de controale din tab-ul Developer.

n document se va aduga un buton de comand. n acest scop, n grupul


de controale din tab-ul Developer se selecteaz Legacy Tools, iar apoi se
va selecta iconia corespunztoare butonului de comand din grupul de
controale ActiveX, ceea ce va avea ca efect adugarea unui buton de
comand n document. Din meniul contextual corespunztor acestui
control, se va selecta opiunea Properties, afindu-se astfel, fereastra
proprieti. Valoarea proprietii Caption se va modifica la nchide. Se
observ c textul afiat pe buton va fi acum nchide. Se va salva
documentul. n continuare se va aduga o secven de cod ce va permite
ca la selectarea butonului de comand nchide s se realizeze salvarea
documentului curent i nchiderea lui. Pentru aceasta, din meniul
contextual corespunztor acestui control, se va selecta opiunea View
Code, ceea ce va determina deschiderea editorului de cod VBA (Figur
7).

Figur 7. Fereastra de editare a codului VBA.

n corpul procedurii eveniment se va aduga urmtorul cod (Figur 8):


6

Programarea Aplicaiilor Grafice

Laborator 1

Figur 8. Secvena de cod ce trebuie adugat.

2.

Se va nchide fereastra de editare a codului i se va reveni n documentul


ce conine butonul de comand. Se va iei din modul de proiectare prin
selectarea butonului Exit Design Mode. Se va selecta butonul de comand
nchide aflat n cadrul documentului.
Se va deschide un nou document care conine cteva paragrafe de text. Se
va aduga un buton de comand Numr paragrafe i se va edita
urmtorul cod:
Private Sub CommandButton1_Click()
nrParagrafe = Application.ActiveDocument.Paragraphs.Count
MsgBox "Documentul are " & nrParagrafe & "paragrafe!"
End Sub

3.

Se iese din modul de proiectare i se va selecta butonul. Care este efectul


execuiei acestei operaii?
Se va deschide un nou document. Se vor aduga dou butoane de
comand, Modific i nchide. Se vor aduga urmtoarele secvene de cod
(Figur 9).

Figur 9. Secvene de cod.

Ce se ntmpl la selectarea butonului Modific?

5. Microsoft Visual Basic 2010


Se va deschide fiierul Lab_PAG_01_[Anexa_1].doc. i se va urmri prezentarea realizat
pentru Microsoft Visual Basic 2010, avnd n vedere identificarea tuturor elementelor prezentate.