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 Proprieti: Documents ActiveDocument IsObjectValid Selection Semnificaie Aplicaia Word Colecia de documente deschise Documentul activ Verific dac obiectul referit de o variabil este valid Zona selectat sau cursorul curent Colecie de documente

Metode: Run Help Quit Repeat Documents Metode: Add Close Item Save Document Proprieti Paragraphs Tables Sentences Section

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 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 Proprieti: Type Information Start End Font Range Metode: Collapse Cut Copy Paste Delete Sort Range

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) 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