Sunteți pe pagina 1din 26

CAPITOLUL 1

1. Scurt prezentare a produsului Microsoft Word


1.1 Gestiunea documentelor (Meniul File)
1.2 Manipularea textului (Meniul Edit)
1.3 Formatarea documentelor (meniul Format)
1.4 Lucrul cu tabele (meniul Table)
1.5 Desene (Drawing)
1.6 Inserarea de imagini i obiecte
1.7 Interclasarea de documente (Mail Merge)
2. Visual Basic for Applications (VBA) n Word
2.1 VBA vedere de ansamblu
2.2 nregistrarea macro-urilor
2.3 Elemente ale interfeei de programare
2.4 Principalele obiecte i colecii Word
2.5 Utilizarea formularelor proprii (User Forms)
2.6 Exemplu de aplicaie VBA n Word

Limbajul Visual Basic


for Applications [VBA]
pentru Microsoft Word

1. Scurt prezentare a produsului Microsoft Word


Microsoft Word este un program de procesare de text adaptabil i
uor de folosit. Word ofer o multitudine de faciliti pentru crearea
documentelor n mod profesional, pentru comunicarea ideilor i partajarea
informaiilor. Dintre aceste faciliti amintim:
utilizarea puternicului set de instrumente de editare din Word
pentru a elabora proiecte, lucrnd individual sau in grup
lucrul mai rapid si mai eficient folosind facilitile Word de
automatizare
utilizarea vrjitorilor din Word pentru configurarea automat a
documentelor
construirea de tabele, referine ncruciate, anteturi i note de
subsol pentru a v organiza documentele
1.1 Gestiunea documentelor (Meniul File)
Crearea unui document nou se realizeaz prin opiunea New. n
caseta de dialog se specific tipul de document dorit. Se pot crea documente
vide sau pe baza unor modele predefinite de Microsoft Word, cum ar fi:
scrisori de afaceri, fax-uri, memorandum-uri, rapoarte, publicaii de tip
newsletter sau curriculum vitae.
Deschiderea unui document deja existent este posibil prin opiunea
Open, iar n caseta de dialog se specific numele, tipul i adresa
documentului care se deschide.
Salvarea unui document
Se poate salva documentul activ la un moment dat, indiferent dac
este nou creat sau deja existent (opiunea Save).
Se pot salva toate documentele deschise la un moment dat
(opiunea Save All, cnd se tine apsata tasta SHIFT).
Se poate face o copie a unui document activ (opiunea Save As)

La salvarea unui document, se poate specifica tipul de fiier astfel


nct acesta s poata fi utilizat i de ctre alte programe.
nchiderea unui document activ se realizeaz cu ajutorul opiunii
Close, sau Close All pentru nchiderea tuturor documentelor active la un
moment dat.
1.2 Manipularea textului (Meniul Edit)
Selectarea textului - exist mai multe moduri de selectare a unui text
cu mouse-ul se apas butonul stng al mouse-ului i se trage
mouse-ul pn la sfritul seleciei
cu tastatura se ine apsat tasta SHIFT i se selecteaz textul
dorit cu ajutorul sgeilor
se utilizeaz opiunea Edit->Select All pentru a selecta ntreg
coninutul unui document
Copiere i mutare un text selectat poate fi eliminat din document
(opiunea Edit-> Cut) sau copiat pentru a fi reutilizat (opiunea Edit>Copy). Un text copiat sau eliminat prin comanda Cut poate fi inserat n alt
loc n acelai document sau poate fi introdus ntr-un alt document Word cu
ajutorul comenzii Edit->Paste.
Anularea unei comenzi se obine prin opiunea Edit->Undo. Se
poate seta numrul de aciuni care pot fi anulate. Pentru a reface o aciune,
se utilizeaz opiunea Edit-> Repeat.
Pentru a regsi un text n cadrul unui document se utilizeaz
opiunea Edit->Find. n caseta de dialog se va specifica textul cutat i
sensul de cutare n document. Un text astfel gsit poate fi nlocuit cu un
text specificat de utilizator n caseta de dialog Edit ->Replace.
1.3 Formatarea documentelor (meniul Format)
Formatarea textului (Font)
Pentru a formata un text, acesta trebuie mai nti selectat. Apoi, se
pot modifica pentru acea selecie, tipul de caracter (sau fontul), stilul
(normal, bold, italic, subliniat), dimensiunea, culoarea sau i se pot aplica
diverse efecte speciale.
Comenzile utilizate n acest sens pot fi selectate din caseta de dialog
Format->Font.

Formatarea paragrafelor (Paragraph)


Din caseta de dialog Format->Paragraph se pot selecta diverse
opiuni legate de formatul unui paragraf, cum ar fi: alinierea (la stnga, la
dreapta sau centrat), distana fa de marginea rndului (opiunea
Indentation), distana ntre rnduri (opiunea Line Spacing).
Formatarea paginii
Formatarea paginii se refer la definirea i delimitarea unor elemente
cum ar fi antetele i notele de subsol, marginile i seciunile, orientarea,
numerotarea sau fundalul paginii, dup cum se observ din Figura 1.1.

Figura 1.1

a) Antet i not de subsol


Pentru ca anumite informaii s apar la nceputul fiecrei pagini,
cum ar fi de exemplu un titlu, se utilizeaz antetul. Nota de subsol se
creeaz pentru informaiile care se repet n josul fiecrei pagini dintr-un
document. Din meniul View, se selecteaz opiunea Header and Footer i
se introduce textul dorit n seciunea aferent antet sau not de subsol.
b) Margini
Marginea reprezint distana dintre text i marginea foii de hrtie.
Este imprimat de obicei textul din interiorul marginilor. Pentru a fixa
marginile, se selecteaz opiunea Margins din caseta de dialog File->Page
Setup.

c) Seciuni
Un document se poate mpri n mai multe seciuni astfel nct
fiecare seciune s fie formatat diferit. Formatarea unei seciuni presupune
stabilirea numrului de coloane, dimensiunea marginilor, formatarea
numrului de pagin i a coninutului i poziiei antetelor i notelor de
subsol. Crearea unei noi seciuni se obine prin poziionarea cursorului n
punctul de nceput al acesteia i selectarea opiunii Break din meniul
Insert. Pentru ca textul s fie dispus pe mai multe coloane se utilizeaz
opiunea Columns din meniul Format, iar n caseta de dialog se specific
numrul i dimensiunea coloanelor.
d) Delimitatori de pagin
Microsoft Word introduce automat o pagin nou cnd pagina
curenta este plin. Dac se dorete ca o pagin s nceap ntr-un anume
punct, se selecteaz opiunea Page Break din meniul Insert->Break.
e) Aliniere vertical a textului
Pentru a selecta un tip de aliniere a textului dintr-o pagin, se
selecteaz opiunea Layout->Vertical Alignment din caseta de dialog File>Page Setup.
f) Numerotarea paginilor
Se poate specifica locul i formatul pentru numrul paginii ntr-un
document utiliznd caseta de dialog Page Numbers din meniul Insert.
Numrul paginii poate fi specificat i din comanda View->Header and
Footer.
g) Dimensiune i orientare
Tot din caseta de dialog File->Page Setup se selecteaz dimensiunea
dorit a paginii (de exemplu A4, A5, A6, etc opiunea Paper Size) i
orientarea acesteia, respectiv pe vertical (Portrait) sau pe orizontal
(Landscape).
h) Fundal (Background)
Se pot selecta diverse fundaluri pentru un document Word, de la un
fond colorat, pn la imagini. Acest lucru se realizeaz prin selectarea
opiunii Background din meniul Format.
Chenare i umbre
ntr-un document Word, unele paragrafe, cuvinte, litere pot fi incluse
n chenare. De asemenea, se pot alege chenare pentru o ntreag pagin.

Acest lucru se realizeaz utiliznd opiunile Borders sau Page Borders din
meniul Format->Borders and Shading. n casetele de dialog aferente se
alege tipul chenarului, culoarea sau grosimea liniei.
Prin selectarea opiunii Shading din acelasi meniu se pot alege
umbre, care s apar n fundalul unui paragraf selectat anterior sau chiar al
unei pagini.
1.4 Lucrul cu tabele (meniul Table)
Informaiile incluse ntr-un document pot fi reprezentate n diferite
moduri, unul din acestea fiind tabelul, care ofer posibilitatea unei mai bune
sintetizri i structurri a datelor. Complexitatea tabelelor utilizabile variaz
de la simplu la complex, dup cum se poate observa n Figura 1.2.:

Figura 1.2

Crearea unor tabele simple


Un tabel este format din linii i coloane la intersecia crora se
gsesc celule, n care se pot introduce diferite tipuri de date (numerice, text,
imagini etc.).
Pentru a crea un tabel se selecteaz opiunea Insert Table din
meniul Table i, n caseta de dialog, se specific numrul de linii i coloane
dorit. Opiunea AutoFormat ofer posibilitatea utilizrii unuia dintre
tipurile de tabele predefinite.

Exist posibilitatea transformrii unui text deja existent ntr-un tabel.


n acest sens, se selecteaz mai nti textul i apoi opiunea Convert Text to
Table din meniul Table.
Dac ulterior se dorete inserarea de noi linii i coloane ntr-un tabel,
se procedeaz n felul urmtor: se selecteaz mai nti linia deasupra creia
se va insera noua linie sau coloana n dreapta creia se va introduce noua
coloan, iar apoi se apeleazn comenzile Insert Rows sau Insert Columns
din meniul Table. n noile versiuni ale Microsoft Word exist posibilitatea
inserrii de linii deasupra sau sub rndul curent (Insert->Rows Above sau
Insert-> Rows Below) sau de coloane n stnga sau n dreapta coloanei
curente (Insert->Columns to the Left sau Insert-> Columns to the
Right).
tergerea celulelor dintr-un tabel se realizeaz prin intermediul
opiunii Delete Cells din meniul Table, dupa ce au fost mai nti selectate
celulele de ters. n caseta de dialog se poate specifica dac se dorete
tergerea unei ntregi linii sau coloane sau doar a unor celule.
Crearea unor tabele complexe
Cel mai simplu mod ce a crea tabele complexe sau neregulate se
realizeaz cu ajutorul comenzii Tables and Borders din bara de lucru
Standard. n acest mod, oricine poate s deseneze tabelul dorit fr prea
mare greutate.
Se poate utiliza ns i opiunea Draw Table din meniul Table,
similar cu desenarea unui tabel cu creionul pe o foaie de hrtie. Mai nti se
deseneaz diagonala tabelului, pentru a-i defini mrimea, iar apoi liniile i
coloanele din interior.
Pentru a divide o celul n mai multe celule se selecteaz celula i se
alege opiunea Split Cells din meniul Table. Pentru a uni mai multe celule
ntr-una singur se selecteaz celulele i se alege opiunea Merge Cells tot
din meniul Table.
Chenare i umbre
Implicit, tabelele sunt ncadrate ntr-un chenar negru de o anumit
grosime. Pentru a modifica sau terge un chenar, se selecteaz butonul
Tables and Borders din bara de lucru Standard i apoi noul tip de chenar.
Sortarea si totalizarea datelor
Datele dintr-un tabel pot fi sortate alfabetic, numeric sau cronologic.
Pentru a sorta un tabel, se selecteaz mai nti celulele de sortat i apoi
opiunea Sort din meniul Table. Din caseta de dialog se va alege ordinea de
sortare cresctoare sau descresctoare.

De asemenea, se pot efectua calcule cu datele dintr-un tabel. Pentru a


aduna, de exemplu, o coloana ce conine numere, se selecteaz celula din
josul coloanei care se adun i apoi butonul Auto Sum din bara de lucru
Tables and Borders. Pentru a efectua alte calcule se utilizeaz comanda
Formula din meniul Table.
Orientarea i alinierea coninutului unui tabel
Cu ajutorul comenzii Text Direction din meniul Format, un anumit
text poate fi dispus pe orizontal sau pe vertical.
Cu ajutorul instrumentelor de aliniere din barele de lucru
Formatting i Tables and Borders, coninutul celulelor unui tabel poate fi
aliniat orizontal sau vertical.
1.5 Desene (Drawing)
Un alt mod de reprezentare a informaiilor dintr-un document este
cel grafic. Dei este dedicat procesrii textelor, Word ofer faciliti de
desen liber sau de utilizare a unor elemente predefinite. n Figura 1.3 este
prezentat un document ce conine diferite desene i obiecte.

Figura 1.3

Utilizarea barei de lucru Drawing


Din bara de lucru Drawing se pot alege instrumente pentru a desena,
manipula sau formata diverse desene.

Crearea de forme
n Word exist o serie de forme predefinite care pot fi selectate cu
ajutorul opiunii AutoShapes, fie din meniul Insert->Picture, fie din bara
de lucru Drawing. Aceste forme predefinite sunt grupate pe categorii: linii
(Lines), forme de baz (Basic Shapes), sgei (Block Arrows), elemente
pentru diagrame de flux (Flowchart Elements), stelue i insigne (Stars and
Banners).
Pentru a desena oricare din aceste forme, este necesar selectarea ei
din meniul AutoShapes. Dup desenare, o form poate fi redimensionat.
Toate formele de baz au puncte de mnuire (handles), cu ajutorul crora li
se poate modifica forma sau dimensiunea.
Adugarea de text la desene
I se poate aduga un text oricrui obiect desenat, mai putin liniilor,
formelor libere sau conectorilor, prin simpla selectare a desenului i apoi
editarea textului respectiv. Exist i instrumentul Text Box n bara de lucru
Drawing, cu ajutorul cruia se poate introduce un text ncadrat ntr-un
chenar oriunde n pagin.
Linii drepte, curbe i alte forme
Cu ajutorul butonului Line din bara de lucru Drawing se pot desena
linii drepte. Pentru linii curbe se apeleaz meniul AutoShapes. Tot cu
ajutorul instrumentelor din bara de lucru Drawing, liniile sau formele deja
desenate pot fi modificate, n sensul schimbrii grosimii, culorii, tipului
(punctat, de exemplu) sau transformrii liniilor n sgei.
Manipularea obiectelor
Manipularea unui obiect presupune selectarea n prealabil a acestuia,
cu ajutorul mouse-ului. Asupra obiectului se pot efectua apoi urmtoarele
aciuni:
Copiere, tiere sau lipire cu ajutorul comenzilor Copy, Cut sau
Paste din meniul Edit
Redimensionare fie cu ajutorul opiunii Size din caseta de
dialog Format-> AutoShape, fie cu ajutorul punctelor de
mnuire (handles). Dac se lucreaz cu punctele de mnuire,
desenul este adus la forma dorit cu ajutorul mouse-ului (drag and
drop).
Rotire cu ajutorul comenzii Free Rotate din bara de lucru
Drawing; punctele de mnuire se transform astfel nct obiectul
va putea fi rotit de utilizator n ce sens dorete. Se poate utiliza i
meniul Draw din bara de lucru Drawing, unde se alege opiunea
Rotate or Flip.

Formatarea obiectelor
Din caseta de dialog Format->AutoShapes se pot alege opiuni
pentru:
Modificarea culorii de fond a obiectului - Colors and Lines->Fill
Modificarea conturului, ca stil de linie sau culoare Colors and
Lines
Aliniere sau mod de dispunere n pagin Layout
Gruparea obiectelor
Dac se lucreaz cu mai multe obiecte la un moment dat, pentru a le
manipula mai uor acestea pot fi grupate. Acest lucru se realizeaz cu
ajutorul comenzii Group din meniul Draw din bara de lucru Drawing.
Pentru a le degrupa se utilizeaz comanda Ungroup, din acelai meniu.
1.6 Inserarea de imagini i obiecte
Pentru a insera o imagine se utilizeaz opiunea Picture din meniul
Insert. Se pot introduce imagini din galeria Microsoft Word (Clipart), dintrun fiier specificat de utilizator, imagini scanate, grafice sau texte dintr-o
galeri predefinit (WordArt).
n galeria Clipart exist o serie de imagini predefinite, grupate pe
diverse categorii, cum ar fi: comunicaii, birou, familie, muzic, plante, etc.
Pentru a le utiliza se selecteaz comanda Insert Clip Art din bara de lucru
Drawing sau din meniul Insert->Picture.
Inserarea unei imagini dintr-un alt fiier se realizeaz cu ajutorul
opiunii From File din meniul Insert->Picture, iar n caseta de dialog se
localizeaz fiierul dorit.
Galeria WordArt conine diverse tipuri de texte artistice pe care
utilizatorul le poate folosi pentru a edita un text. Se selecteaz n acest sens
opiunea WordArt din bara de lucru Draw sau din meniul Insert->Picture.
n caseta de dialog se alege tipul de text, apoi se editeaz i se formateaz
textul dorit.
1.7 Interclasarea de documente (Mail Merge)
Interclasarea de documente, realizat cu ajutorul opiunii Mail
Merge, presupune existena a dou documente: un fiier principal i un
fisier de date. Legtura dintre aceste dou fiiere se realizeaz prin anumite
cmpuri de date, numite cmpuri de interclasare (merge fields).
Interclasarea se poate face pe baza a dou documente deja existente sau prin

crearea unor documente noi. Fiierul principal este un document obinuit,


care conine o parte variabil, specificat prin cmpurile de interclasare.n
versiunile recente de Microsoft Word (ncepnd cu anul 2000), cmpurile de
date nu mai sunt salvate ntr-un document, ci sub forma unei tabele
Microsoft Access, numit list.
Etapele interclasrii documentelor cu ajutorul Vrjitorului
1. Se activeaz vrjitorul corespunztor interclasrii, cu ajutorul
opiunii Tools-> Letters and Mailings->Mail Merge Wizard...
Vrjitorul este structurat n 6 pai.
2. Primul pas l reprezint alegerea unui tip pentru documentul
principal. Tipurile disponibile sunt:
a. Scrisori (Letters)
b. Mesaje electronice (E-Mail messages)
c. Plicuri (Envelopes)
d. Etichete (Labels)
e. Catalog de adrese (Directory).
Vom prezenta n continuare paii pentru crearea unei scrisori
circulare.
3. Dup ce a fost selectat tipul de document (Letters) urmeaz
specificarea documentului de baz. Se poate:
a. Porni de la documentul curent opiunea Use the current
document
b. Utiliza un model predefinit de document opiunea Start from
template
c. Utiliza un document existent opiunea Start from existing
document.
4. La pasul al treilea din vrjitor se va specifica lista unde sunt
salvate cmpurile de date. Din nou exist 3 opiuni:
a. Utilizarea unei liste disponibile, prin specificarea fisierului
Microsoft Access corespunztor Use an existing list
b. Selectarea persoanelor de contact dintre adresele salvate n
Microsoft Outlook Select from Outlook contacts
c. Editarea unei noi liste de persoane de contact Type a new list.
Selectarea acestei opiuni are ca efect deschiderea unei ferestre
de dialog, prezentat n figura 1.4.

Figura 1.4

Exist un set de cmpuri predefinite care vor putea fi completate


pentru fiecare destinatar al scrisorii circulare. Modificarea acestora, n
sensul adugrii, tergerii sau redenumirii lor este posibil cu ajutorul
opiunii Customize....Pentru adugarea unei noi persoane de contact se
utilizeaz butonul New Entry, iar pentru tergerea persoanei de contact
selectate butonul Delete Entry. Navigarea ntre nregistrrile dintr-o list se
poate realiza cu ajutorul butoanelor First, Previous, Next, Last, active
pentru o listele cu cel puin dou nregistrri, unde o nregistrare reprezint
toate informaiile existente despre o anumit persoan de contact.
Prin nchiderea ferestrei de dialog, cu ajutorul butonului Cancel, are
loc i salvarea informaiilor nregistrate. Vizualizarea lor ulterioar este
posibil prin opiunea Edit recipients list, iar fereastra de dialog aferent
este prezentat n figura 1.5:

Figura 1.5

nregistrrile din list pot fi sortate dup diferite cmpuri dac se


efectueaz click pe denumirea cmpului respectiv. Modificarea unei
nregistrri se face prin activarea butonului Edit....
De asemenea, pot fi selectate doar anumite nregistrri din list
pentru utilizare n scrisoarea circular. Acest lucru se poate realiza n dou
moduri:
prin bifarea csuei din stnga corespunztoare nregistrrilor
dorite
prin activarea submeniului unui anumit cmp (sgeata din stnga
denumirii cmpului) i selectarea uneia din opiunile:
(All) toate nregistrrile
Oricare din cmpurile din list, prin denumirea sa
(Blanks) doar nregistrrile pentru care acest cmp este vid
(Nonblanks) doar nregistrrile pentru care acest cmp nu
este vid
(Advanced) specificarea uror criterii de selecie pentru
cmpuri.
5. Dup definitivarea editrii sursei de date, pasul urmtor presupune
editarea documentului principal, respectiv scrierea efectiv a
scrisorii i inserarea cmpurilor dorite. Word permite introducerea
unor blocuri predefinite de cmpuri, pentru adres (Address block...),
formule de ncheiere (Greeting line...), .a. sau las utilizatorul s-i
formateze scrisoarea dup plac (opiunea More items...). Dup
inserare, n documentul principal denumirile cmpurilor vor apare
astfel: Title Company_Name First_Name Last_Name.
6. Penultimul pas al vrjitorului permite previzualizarea scrisorilor
circulare.
7. n ultimul pas are loc interclasarea efectiv acelor dou documente:
a. ntr-un document nou se obine un document nou n care se
gsesc scrisorile personalizate pentru fiecare destinatar.
b. Pentru imprimare interclasarea are loc doar la imprimare.
n ambele cazuri exist posibilitatea selectrii tuturor nregistrrilor,
doar a celei curente sau specificarea nregistrrilor pentru care se face
interclasarea.

Interclasarea documentelor, odat ce acestea sunt create, se poate


face i prin utilizarea opiunilor din bara de lucru Mail Merge (View>Toolbars->Mail Merge).

2. Visual Basic for Applications (VBA) n Word


2.1 VBA vedere de ansamblu
Visual Basic for Applications este un subset al limbajului Visual
Basic utilizabil din interiorul aplicaiilor care-l implementeaz (MS Word,
MS Excel, .a.), i este destinat automatizrii anumitor activiti de rutin
(repetitive) ale utilizatorilor acestor aplicaii.
VBA intr n categoria limbajelor macro, termenul de macro
semnificnd o secven de operaii memorat ca unitate de sine-stttoare i
apelabil de ctre utilizator. Iniial, macro-urile erau create prin
nregistrarea secvenei de operaii, coninutul lor nefiind accesibil sau
modificabil. Limbajele macro ne dau posibilitatea de a extinde
funcionalitatea macro-urilor prin elemente specifice limbajelor de
programare.
Ca i Visual Basic, VBA este puternic orientat pe obiecte;
elementele aplicaiilor sunt accesibile programatorului, fiind reprezentate
prin obiecte VBA.
2.2 nregistrarea macro-urilor
nregistrarea unui macro se face cu ajutorul componentei Macro
Recorder. Aceasta traduce aciunile utilizatorului n instruciuni VB,
aciuni efectuate ntre momentul nceperii nregistrrii i cel al sfritului
acesteia. Putem apoi edita codul rezultat, efectund modificrile necesare.
Not: codul generat de Macro Recorder nu poate include instruciuni
de control (bucle, decizii), atribuiri de variabile, formulare proprii sau
tratarea erorilor, fiind o simpl secven de operaiuni.
Cum nregistrm un macro n Word?
1. Din meniul Tools se alege Macro->Record Macro
2. Se introduce numele macro-ului n cmpul Macro name

3. Se selecteaz documentul sau ablonul (template) n care se va


memora macro-ul, din cmpul Store macro in
4. Se d o descriere a macro-ului n cmpul Description
5. Dac nu dorim accesarea macro-ului printr-un meniu sau buton
(toolbar) se apas OK pentru a ncepe inregistrarea macro-ului; n
caz contrar se continu cu pasul urmtor
6. Din csua Commands se selecteaz macro-ul pe care-l vom
nregistra i se efectuez drag&drop pe meniul sau toolbar-ul
dorit. Este posibil i definirea unei taste de acces, prin clic pe
Keyboard. nregistrarea ncepe dup ce se apas pe butonul
Close.
Dup nceperea nregistrrii, se efectueaz activitile pe care dorim
s le includem n macro. Nu se pot nregistra aciuni ale mouse-ului n
fereastra documentului (mutarea cursorului, selecie, copiere, mutare),
acestea trebuind efectuate cu ajutorul tastaturii pentru a fi nregistrate.
Putem folosi totui mouse-ul pentru comenzi din meniuri sau butoane de pe
toolbar, precum i pentru selecia opiunilor.
nregistrarea se ncheie cu comanda Stop Recording.
Codul rezultat se poate vizualiza astfel:
1. Din meniul Tools alegem Macro->Macros (sau Alt+F8)
Selectm macro-ul dorit i apsm butonul Edit.
2.3 Elemente ale interfeei de programare
2.3.1 Colecii, proprieti i metode
Colecii
O colecie este un obiect care conine mai multe alte obiecte, de
obicei de acelai tip. Prin proprieti i metode se poate modifica ntreaga
colecie, sau numai obiecte individuale din aceasta. Uzual, numele unei
colecii este pluralul substantivului care definete tipul de obiecte care
aparin coleciei.
Ex. Documents, Paragraphs, Words
Proprieti
Sunt atribute ale obiectelor sau ale comportamentului acestora.
Pentru a modifica aceste caracteristici trebuie modificate valorile

proprietilor corespunztoare. Nu toate proprietile permit modificarea


prin program; n general, proprietile sunt de trei feluri:
read-write: permit att citirea, ct i modificarea
read-only: permit numai citirea
write-only: permit numai modificarea (setarea) valorii
Metode
Metodele sunt aciuni care pot fi executate de ctre obiecte. Adesea
metodele au argumente (parametri) care precizeaz modul de execuie al
aciunii.

2.3.2 Accesarea obiectelor


Accesarea unui obiect dintr-o colecie se poate face folosind o
valoare index pentru colecie, care poate fi un numr sau un nume.
Ex.: Documents(1).Close
Pentru primul obiect de tip Document din colecia Documents se
apeleaz metoda Close (pentru nchiderea documentului).
Documents("Sales.doc").Close

Similar, dar se utilizeaz un nume de document (ir de caractere)


pentru calificarea obiectului n cadrul coleciei.
Not: Toate coleciile au metoda Item, care returneaz un obiect
individual din colecie. Aceast metod este implicit, deci apelul su poate
fi omis pentru conciziune. Astfel, expresia Documents.Item(1) este
echivalent cu Documents(1).
Obiectele de tip colecie pot avea metode care afecteaz toate
obiectele din colecie. De exemplu, colecia Documents are o metod Save
care salveaz toate documentele din colecie:
Documents.Save

i obiectele Document au o metod Save, care poate fi folosit pentru


salvarea unui singur document.
Documents("Report.doc").Save

Coleciile i obiectele VBA sunt structurate ntr-o manier


arborescent; accesul la un anumit obiect se poate face parcurgnd aceast
structur de la rdcin (sau alt nod superior cunoscut ) ctre obiectul dorit.

Aceast parcurgere se face prin intermediul metodelor i proprietilor


obiectelor de pe nivelele superioare ale ierarhiei. n vrful ierarhiei se afl
obiectul Application.
Ex.: Application.ActiveDocument.Words(1)
Cum aflm care sunt obiectele, proprietile i metodele pe care
trebuie s le folosim ?
Exist cteva ci pentru a ne ajuta s parcurgem ierarhia de obiecte:
Listarea automat a membrilor: n editorul VB, dac scriem .
dup numele unei metode sau proprieti, se va afia o list cu
proprietile i metodele disponibile.
Help (ajutor) on-line: putem accesa informaii despre obiecte,
metode i proprieti ale acestora, cu tasta F1, dup ce am
selectat n editor sau n fereastra Object Browser obiectul dorit.
Object Browser: afiaz membrii (proprieti i metode)
obiectelor Word.
Diagrama Microsoft Word Objects, din cadrul Help-ului,
prezint dispunerea obiectelor n structura arborescent i
permite accesarea direct a informaiilor despre acestea.
o cale comod de a afla care sunt proprietile i obiectele de
care avem nevoie este nregistrarea unui macro i editarea
codului rezultat

2.3.3 Evenimente Word


n programarea orientat obiect putem asocia evenimentelor anumite
secvene de instruciuni, care vor fi executate la apariia acestor evenimente.
Putem folosi deci evenimentele specifice aplicaiei Word pentru a
personaliza modul de lucru cu aceasta.
Evenimentele Word sunt de trei categorii:
evenimente legate de obiectul Document
evenimente legate de obiectul-aplicaie (Application)
evenimente legate de controale ActiveX incluse n document
(depesc scopul acestui material)
Evenimente legate de obiectul Document
Obiectul Document poate rspunde la trei evenimente:
New - are loc la crearea unui document pe baza ablonului
(document template) care conine procedura pentru

tratarea acestui eveniment. Aceast procedur are efect


numai cnd este inclus ntr-un ablon.
Open - are loc la deschiderea documentului
Close - are loc la nchiderea documentului
Procedurile pentru aceste evenimente trebuiesc incluse n modulul
(class module) ThisDocument.
Ex.: Procedura de mai jos afiaz un mesaj la crearea unui
document nou.
Private Sub Document_New()
MsgBox "New document was created"
End Sub

Evenimente legate de obiectul aplicaie (Application)


Aceste evenimente privesc aplicaia Word n ansamblul ei. Obiectul
Application poate rspunde la dou evenimente:
DocumentChange
- are loc la crearea unui nou document, la deschiderea
unuia existent sau la schimbarea documentului activ.
(Word permite deschiderea simultan a mai multor
ferestre document)
Quit
- are loc atunci cnd utilizatorul prsete (nchide)
aplicaia Word
Scrierea procedurilor de tratare a acestor evenimente este puin mai
complicat:
mai inti trebuie definit o clas VB (class module), numit spre
exemplu EventClassModule, care s aib un membru de tip
Word.Application care accept evenimente:
Public WithEvents App As Word.Application

n aceast clas se scriu procedurile corespunztoare


evenimentelor, n legtur cu obiectul aplicaie declarat (App
n acest exemplu)
Private Sub App_DocumentChange()
. . .
End Sub

n final trebuie conectat obiectul declarat n clasa de mai sus cu


obiectul Application. ntr-un alt modul se includ urmtoarele
instruciuni:
Dim X As New EventClassModule
Sub Register_Event_Handler()
Set X.App = Word.Application
End Sub

Astfel se declar un obiect X din clasa EventClassModule, iar n


procedura Register_Event_Handler se efectueaz conectarea propriu-zis.
Dup rularea acestei proceduri, obiectul App membru al instanei X
desemneaz obiectul Word.Application, iar procedurile de tratare a
evenimentelor prevzute de clasa EventClassModule vor fi rulate la
apariia evenimentelor.
2.4 Principalele obiecte i colecii Word
Principalele obiecte i colecii Word sunt prezentate n tabelul 1.1.
Obiecte i colecii Word
Tabelul 1.1
Obiect
Application

Semnificaie
Aplicaia Word
Proprieti:
Documents
ActiveDocument
IsObjectValid
Selection

Metode:
Run
Help
Quit
Repeat
Documents

Colecia de documente deschise


Documentul activ
Verific dac obiectul referit de o variabil
este valid
Zona selectat sau cursorul curent
Colecie de documente

Ruleaz un macro
Afiaz informaii din help-ul on-line
nchide aplicaia Word, salvnd opional
documentele deschise
Repet utima aciune de editare (similar
cu comanda Repeat din meniul Edit)
Colecie de documente

Metode:
Add
Close
Item
Save
Document
Proprieti
Paragraphs
Tables
Sentences
Section

Adaug un document nou la colecie


nchide documentele din colecie
Identific un element din colecie
Salveaz documentele din colecie
Document Word
Colecia paragrafelor din document
Colecia tabelelor din document
Colecia propoziiilor din document
Colecia seciunilor din document

Words
Characters
Saved
Metode
Activate
Close
PrintOut
Save
SaveAs
Selection

Colecia cuvintelor din document


Colecia caracterelor din document
Documentul a fost salvat de la ultima modificare
Activeaz documentul
nchide documentul
Tiprete documentul
Salveaz documentul
Salveaz documentul sub alt nume
Zona selectat din documentul curent
sau cursorul (punctul de inserie)

Proprieti:
Type
Information
Start
End
Font
Range
Metode:
Collapse
Cut
Copy
Paste
Delete
Sort
Range

Tipul zonei selectate


Informaii despre selecie sau zon (Range)
Caracterul de nceput al seleciei
Caracterul de sfrit al seleciei
Tipul de liter folosit i caracteristicile sale
Obiectul Range corespunztor seleciei
Reduce zona selectat la cursor
Mutarea obiectelor din selecie n Clipboard
(similar cu Edit -> Cut )
Copiere n Clipboard
Inserarea obiectelor din Clipboard n selecie
terge continutul seleciei
Sorteaz paragrafele din selecie
Reprezint o zon dintr-un document.
Majoritatea proprietilor i metodelor sunt
similare celor ale obiectului Selection.

Not: cele mai importante proprieti ale obiectului Application


sunt considerate globale, nemaifiind necesar menionarea acestui obiect.
Application.ActiveDocument.Save este echivalent cu
ActiveDocument.Save

2.4.1 Utilizarea obiectelor Selection i Range


Obiectele Selection i Range pot fi folosite pentru a modifica o
zon din document (spre exemplu prin formatare sau introducere de text).
Diferena dintre ele const n faptul c Selection cuprinde zona selectat la
un moment dat n document (prin aciuni ale utilizatorului sau prin

instruciuni VB), n timp ce Range poate cuprinde orice zon din document,
zon specificat de obicei prin program. Drept consecin, putem avea la un
moment dat un singur obiect Selection, dar mai multe obiecte Range
desemnnd zone diferite din document.
Cum stabilim zona desemnat de un obiect Selection?
Dac dorim modificarea seleciei curente prin program astfel nct s
cuprind un anumit obiect, putem folosi metoda Select asociat acelui
obiect (Range, Paragraph, Row, Word, Table, etc.). Zona selectat
poate fi apoi extins prin metode precum MoveDown, folosind parametrul
wdExtend.
Cum stabilim zona desemnat de un obiect Range?
Ca i n cazul obiectului Selection, majoritatea componentelor unui
document au asociat proprietatea Range, care desemneaz zona n care se
gsete obiectul respectiv. O alt modalitate este metoda Range a obiectelor
de tip Document, care admite ca parametri nceputul i sfritul zonei dorite.
Un obiect Range i poate modifica zona pe care o desemneaz prin metoda
SetRange.
Legturi ntre Range i Selection
Putem obine un obiect Range care desemneaz zona selectat
folosind proprietatea Range a obiectului Selection.
MyRange = Selection.Range

Invers, putem specifica zona selectat pentru a corespunde unui


obiect Range, folosind metoda Select a acestuia.
MyRange.Select

2.4.2 Apelarea formularelor standard Word


Formularele standard Word (dialog boxes) pot fi folosite prin
program pentru introducere de date sau controlul aplicaiei. Ele se acceseaz
ca elemente ale coleciei Dialogs, fiind desemnate prin constante simbolice.
Exist mai multe modaliti de utilizare a acestor formulare, n
funcie de metoda folosit:
1. Show : Afiarea formularului i executarea aciunilor prevzute de
acesta.
Dialogs(wdDialogFileOpen).Show

Este afiat formularul standard de deschidere a unui fiier; dac se apas


butonul OK, fiierul selectat este deschis.
2. Display: formularul este afiat, dar nu sunt executate aciunile
acestuia. Astfel, un formular poate fi folosit pentru a culege date
ce vor fi folosite n program.
With Dialogs(wdDialogToolsOptionsUserInfo)
.Display
MsgBox .Name
End With

Este afiat formularul User Information (corespunztor meniului


Tools -> Options), dup nchiderea acestuia fiind afiat numele introdus
de utilizator.
Modificrile efectuate pot fi actualizate n formular prin metoda
Execute, care nu presupune afiarea formularului.
With Dialogs(wdDialogToolsOptionsUserInfo)
.Display
If .Name <> "" Then .Execute
End With
Metodele Show i Display ntorc un rezultat numeric care reflect

modul cum a fost nchis formularul:


-2
Butonul Close
-1
Butonul OK
0 (zero)
Butonul Cancel
> 0 (zero)
Un alt buton din formular: 1 - primul buton, 2 - al
doilea, etc.
3. Citirea sau setarea unor valori (proprieti) din cadrul
formularului fr afiarea acestuia. Setarea valorilor trebuie
urmat de apelul metodei Execute. Este recomandabil s
modificm proprietile direct, nu prin intermediul formularelor
Word.
With Dialogs(wdDialogFormatParagraph)
.KeepWithNext = 1
.Execute
End With

Se poate nlocui cu:


Selection.Paragraphs(1).KeepWithNext = True

2.5 Utilizarea formularelor proprii (User Forms)


Formularele proprii se definesc n componenta Visual Basic
Editor ( meniul Tools -> Macro -> Visual Basic Editor), n mod
similar cu formularele obinuite Visual Basic. Reamintim pe scurt etapele
definirii unui formular funcional VB:
proiectarea grafic a formularului, prin amplasarea
componentelor corespunztoare n fereastra acestuia
stabilirea valorilor proprietilor acestor componente, inclusiv a
numelui componentelor ce vor fi utilizate n program
scrierea codului pentru evenimentele corespunztoare
componentelor interfeei
Formularelor utilizator le corespund obiecte de tip UserForm, care
sunt coninute n colecia UserForms. Pentru utilizarea efectiv a
formularelor se folosesc urmtoarele metode ale clasei UserForm:
Show - afiaz formularul
Hide - ascunde formularul
i instruciunile
Load - ncarc formularul, dar nu l afiaz
Unload
- descarc formularul
Ex.:
Load myForm
myForm.Show

Formularele definite de utilizator au caracter modal, adic


utilizatorul trebuie s nchid formularul pentru a putea lucra n continuare
cu aplicaia.
Pentru iniializri necesare formularului se va scrie codul
corespunztor n procedura Initialize a formularului.
Obiectul UserForm are proprietatea Controls, care desemneaz
colecia componentelor de interfa ale formularului (butoane, etichete, etc.)
2.6 Exemplu de aplicaie VBA n Word
Ne propunem construirea unui macro pentru gsirea tuturor
apariiilor unui cuvnt (text) n document i formatarea acestora, specificnd
un anumit tip de liter, mrime etc. Pentru aceasta proiectm un formular
utilizator n care s putem introduce cuvntul dorit i s specificm
caracteristicile de formatare. Pentru uurina utilizrii vom prelua textul de

cutat din zona selectat de utilizator, dac aceasta exist. Caracteristicile de


formatare vor fi stabilite cu ajutorul formularului standard al Word-ului
pentru acest scop (wdDialogFormatFont).
Formularul proiectat n Visual Basic Editor este prezentat n figura 1.6:

Figura 1.6

S-au folosit urmtoarele nume pentru componente:


frmFindFormat - formular
cmdOK - butonul OK
tbWhat - TextBox pt. textul de cutat
cmdCancel - butonul Cancel
tbFontName - Tipul de caracter
cmdFont - butonul Font
tbSize - Mrimea literei
Se observ c butonul OK este iniial dezactivat; el va fi activat dup
selectarea noilor caracteristici ale textului, cu ajutorul butonului Font.
Acesta deschide formularul standard pentru selectarea caracteristicilor de
formatare.
TextBox-urile referitoare la formatarea textului nu sunt modificabile,
fiind prevzute numai pentru afiarea informaiilor.
n continuare dm codul VB asociat formularului:
'Declaratii globale
Dim myFont As New Font

'variabila pentru referirea unui


'obiect de tip Font

Private Sub cmdCancel_Click()


'Inchide formularul
Unload Me
End Sub

Private Sub cmdFont_Click()


Dim fontDlg As Dialog
'variabila pentru referirea
'unui obiect Dialog
'Asociem variabilei formularul standard
'pentru formatarea textului
Set fontDlg = Dialogs(wdDialogFormatFont)
With fontDlg
'afisam formularul standard
.Display
'dupa inchiderea formularului standard
'preluam caracteristicile introduse
'ca proprietati ale variabilei myFont
myFont.AllCaps = .AllCaps
myFont.SmallCaps = .SmallCaps
myFont.Underline = .Underline
myFont.Bold = .Bold
myFont.DoubleStrikeThrough = .DoubleStrikeThrough
myFont.Emboss = .Emboss
myFont.Engrave = .Engrave
myFont.Italic = .Italic
myFont.Kerning = .Kerning
myFont.Name = .Font
myFont.Outline = .Outline
myFont.Shadow = .Shadow
myFont.Size = .Points
myFont.StrikeThrough = .StrikeThrough
myFont.Subscript = .Subscript
myFont.Superscript = .Superscript
myFont.Underline = .Underline
End With
'actualizam continutul TextBox-urilor
tbFontName.Text = myFont.Name
tbSize.Text = myFont.Size
'activam butonul OK
cmdOK.Enabled = True
End Sub
Private Sub cmdOK_Click()
'selectia curenta este redusa la punctul de
'insertie si mutata la inceputul liniei
Selection.HomeKey
'gaseste prima aparitie a textului din tbWhat
'Forward:= True - sensul de parcurgere al documentului

'Wrap:=wdFindStop - oprirea cautarii la sfirsitul


documentului
Selection.Find.Execute FindText:=tbWhat.Text,
Forward:=True, Wrap:=wdFindStop
'repeta, cit timp a fost gasit textul
Do While Selection.Find.Found = True
'modifica formatarea textului selectiei;
'la gasirea textului, selectia se modifica
'pentru a cuprinde aparitia curenta
Selection.Font = myFont
'gaseste urmatoarea aparitie
Selection.Find.Execute FindText:=tbWhat.Text,
Forward:=True, Wrap:=wdFindStop
Loop
'inchide formularul
Unload Me
End Sub
Private Sub UserForm_Initialize()
'preluam textul selectat de utilizator
'inainte de rularea macro-ului
If Selection.Type = wdSelectionNormal Then
tbWhat.Text = Selection.Text
Else
tbWhat.Text = ""
End If
'initializam TextBox-urile
tbFontName.Text = Selection.Font.Name
tbSize.Text = Selection.Font.Size
End Sub

n final vom construi un macro, declanat printr-un meniu sau buton,


pentru a putea apela formularul din aplicaia Word. Macro-ul trebuie s
conin instruciunea
frmFindFormat.Show

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