You are on page 1of 5

Lucrare de laborator nr.5.

Programarea în Word

Word – cea mai vestită aplicație ce se include în suita de aplicații Microsoft Office. Din punct de vedere al
programării Word reprezintă un instrument ce ne oferă posibilitatea să pregătim rapoarte utilizînd baze
de date. Raportul reprezintă orice document ce se crează pe baza informației dintr-o bază de date, spre
exemplu: contracte, act de primire-predare, ordin de plată, dispoziție de încasare/plată către casierie,
etc.

Programarea în limbajul VBA în cadrul aplicației Word ne permite să creăm diverse rapoarte pe baza
unor șabloane de lucru și informației oferite de către utilizator.

În continuare vom elabora o aplicație VBA în cadrul aplicației Word care ne va permite generarea unui
contract pe baza unui șablon creat și a informației introduse de către utilizator.

Pentru crearea a majorității aplicațiilor în Word avem nevoie să cunoaștem 5 obiecte de bază ale acestei
aplicații și 2 colecții de obiecte.

 Obiectul Application;
 Obiectul Document (cu colecția Documents);
 Obiectul Range;
 Obiectul Selection;
 Obiectul Bookmark (cu colecția Bookmarks).

Sarcina lucrării de laborator:


De creat o aplicație care ne va permite să automatizăm crearea contractelor sub forma unor documente
Word. Ca șablon va fi folosit un model tipic de contract de colaborare (”ContractDeColaborare.dot”).

Sarcini:

1. De creat în șablonul ”ContractDeColaborare.dot” o formă cu numele FormContr și cu titlul Datele


contractului la fel ca în imaginea de mai jos:
2. Creați un macros prin intermediul căruia se va deschide forma creată și atribuiții acestui macros
un buton pe bara de instrumente Word ori amplasați butonul chiar în interiorul documentului.

3. Creați și salvați acest șablon pe disc cu numele ”ContractDeColaboare.dot”, în acest șablon se vor
subsitui datele introduse de utilizator în formă, pentru aceasta creați în locurile necesare în
șablon marcaje (Insert | Bookmarks).

4. Creați pentru butonul ”Creare contract” de pe formă codul sursă, acest cod trebuie să formeze
un nou documen Word din șablon și datele introduse de utilizator în formă.

Etapele de elaborare:

1. Deschidem fereastra editor-ului Visual Basic pentru Word și facem un click dreapta pe proiectul
Normal în fereastra Project Explorer, apoi selectăm din lista apărută Insert | UserForm.
2. În design-erul de forme construim forma ce a fost prezentată în imaginea de mai sus, pentru
elementele de control de pe formă vom utiliza următoarele nume:
 numeFirma1 – cîmp de text pentru introducerea denumirii primei firme.
 numeFirma2 – cîmp de text pentru introducerea denumirii pentru firma a II-a.
 adresaFirma1 – cîmp de text pentru introducerea adresei primei firme.
 adresaFirma2 – cîmp de text pentru introducerea adresei pentru firma a II-a.
 nrCertificat1 – cîmp de text pentru introducerea numărului de certificat pentru prima
firma.
 nrCertificat2 – cîmp de text pentru introducerea numărului de certificat pentru firma a
II-a.
 numePrenume1 – cîmp de text pentru introducerea numelui și prenumelui
reprezentantului primei firme.
 numePrenume2 – cîmp de text pentru introducerea numelui și prenumelui
reprezentantului firmei a II-a.
 functia1 – cîmp de text pentru introducerea funcției reprezentantului primei companii.
 functia2 – cîmp de text pentru introducerea funcției reprezentantului firmei a II-a.
 incasariFirma1 – radio buton ce permite setarea beneficiarului încasărilor de comisioane
să fie firma 1.
 incasariFirma2 – radio buton ce permite setarea beneficiarului încasărilor de comisioane
să fie firma 2.
 cmdContr – buton pentru crearea contractului.
 cmdCancel – buton pentru închiderea formei.
3. Setăm proprietatea Caption a formei create egală cu ”Datele contractului”. Pentru butonul
cmdContr setăm proprietatea Default egală cu True, iar pentru butonul cmdCancel setăm
proprietatea Cancel egală cu True. Setăm proprietatea Name a formei egală cu ”FormContr”.
4. În modulul standart NewMacros proiectului Normal creăm o procedură nouă cu numele
FormContrShow(). Codul ei poate fi următorul:

Public Sub FormContrShow()


FormContr.Show
End Sub
Asigurați-vă că la execuția acestei proceduri se deschide forma creată.

5. În Word în meniul Tools alegeți Settings, apoi treceți pe pagina Commands. În lista Categories
alegeți Macros și apoi trageți pe orice bară de instrumente macrosul
Normal.NewMacros.FormContrShow. Setați pentru butonul creat formatul cuvenit de
reprezentare. Închideți fereastra Settings și verificați dacă la apasarea butonului se lansează
forma creată.
6. Creați un document Word nou pe baza la șablonul ContractDeColaborare.dot (ori puteți folosi
chiar acest fisier). Inserați în locurile cuvenite a acestui documente marcaje. Marcajele se vor
numi în felul următor:
 bFirma1 – marcaj pentru inserarea denumirii primei firme.
 bFirma2 – marcaj pentru inserarea denumirii pentru firma a II-a.
 bAdresa1 – marcaj pentru inserarea adresei primei firme.
 bAdresa2 – marcaj pentru inserarea adresei firmei a II-a.
 bCertificat1 – marcaj pentru inserarea numărului de certificat pentru prima firma.
 bCertificat2 – marcaj pentru inserarea numărului de certificat pentru firma a II-a.
 bNumPren1 – marcaj pentru inserarea numelui și prenumelui reprezentantului primei
firme.
 bNumPren2 – marcaj pentru inserarea numelui și prenumelui reprezentantului firmei a
II-a.
 bFunctia1 – marcaj pentru inserarea funcției repezentantului primei firme.
 bFunctia2 – marcaj pentru inserarea funcției reprezentantului firmei a II-a.
 bIncasari – marcaj pentru inserarea beneficiarului încasărilor.
 data – marcaj pentru inserarea datei curente.
7. Salvați acest document ca șablon cu numele ContractTemplate.dot.
8. Creăm codul pentru forma noastră:

‘ Codul pentru evenimentul Click al butonului cmdCancel

Private Sub cmdCancel_Click()


FormContr.Hide
End Sub

‘ Codul pentru evenimentul Click al butonului cmdContr

Private Sub cmdContr()


Dim oContr As Document
' In acest caz e folosit discul C:\ dar el poate fi inlocuit dupa preferintele dvs.
Set oContr = Application.Documents.Add("C:\ContractTemplate.dot")
oContr.Bookmarks("bFirma1").Range.Text = numeFirma1.Value
oContr.Bookmarks("bFirma2").Range.Text = numeFirma2.Value
oContr.Bookmarks("bAdresa1").Range.Text = adresaFirma1.Value
oContr.Bookmarks("bAdresa2").Range.Text = adresaFirma2.Value
oContr.Bookmarks("bCertificat1").Range.Text = nrCertificat1.Value
oContr.Bookmarks("bCertificat2").Range.Text = nrCertificat2.Value
oContr.Bookmarks("bNumPren1").Range.Text = numePrenume1.Value
oContr.Bookmarks("bNumPren2").Range.Text = numePrenume2.Value
oContr.Bookmarks("bFunctia1").Range.Text = functia1.Value
oContr.Bookmarks("bFunctia2").Range.Text = functia2.Value

If incasariFirma1.Value = True Then


oContr.Bookmarks("bIncasari").Range.Text = numeFirma1.Value
End If
If incasariFirma2.Value = True Then
oContr.Bookmarks("bIncasari").Range.Text = numeFirma2.Value
End If

oContr.Bookmarks("data").Range.Text = Date

FormContr.Hide
oContr.Activate
End Sub
9. Lansăm forma, o completăm ca în exemplul de mai jos:
Obținem un document completat automat:

You might also like