Utilizarea vba pentru a rezolva probleme în Word. Crearea de aplicații VBA în Word, situații tipice

Această carte vă va ajuta să stăpâniți mediul de dezvoltare integrat VBA și să învățați cum să programați în VBA folosind obiecte, proprietățile, metodele și evenimentele acestora. Tehnicile de programare discutate sunt ilustrate cu exemple pe care le puteți încerca imediat în practică. Veți putea folosi cunoștințele acumulate pentru a configura și îmbunătăți aplicațiile de birou populare, inclusiv aplicațiile Office XP, și pentru a vă crea propriile aplicații.

Cartea este destinată celor care doresc să învețe rapid și fără efort să programeze pentru Windows folosind VBA.

Carte:

Lucrul cu text în Word VBA

Lucrul cu text în Word VBA

Obiectele Range și Selection sunt punctele de plecare pentru aproape orice operațiune pe care o puteți face cu text folosind Word VBA. Unele dintre aceste acțiuni pot fi aplicate documentelor ca un întreg, dar, în general, aveți nevoie de un interval sau de o selecție înainte de a face modificări.

Obiectele Range și Selection au multe în comun, dar există câteva diferențe cheie. Ambele obiecte reprezintă secvențe contigue de caractere pe care puteți efectua diverse operații. Ambele obiecte au multe proprietăți și metode comune. Cu toate acestea, unele proprietăți și metode sunt unice pentru selecții, iar altele sunt unice pentru intervale. O altă diferență semnificativă este că un obiect Selection corespunde unei selecții dintr-o zonă de fereastră: text, un grafic sau orice alt obiect, în timp ce obiectele Range există independent de selecție și conțin întotdeauna text.

Utilizați obiectul Selection dacă procedura dvs. depinde de utilizator, de exemplu, utilizatorul trebuie să specifice textul pe care vor fi efectuate anumite acțiuni sau dacă trebuie să arătați utilizatorului exact ce text va fi modificat. În alte situații, obiectele Range sunt mult mai potrivite. Acestea oferă o execuție mai rapidă a programului și mai puțină intimidare a utilizatorului: Word actualizează conținutul ecranului de fiecare dată când se modifică conținutul zonei selectate, dar conținutul ecranului nu este actualizat atunci când intervalul se modifică. În plus, modificările intervalului nu sunt reflectate în selecțiile create de utilizator.

În ciuda diferențelor lor, obiectele Selection și Range pot fi create unul din celălalt. Această caracteristică este extrem de importantă deoarece multe funcții de editare funcționează numai cu intervale. În schimb, singura modalitate de a afișa utilizatorului conținutul unui interval este de a-l evidenția. Utilizați următoarele tehnici simple.

* Pentru a selecta un interval, utilizați metoda Select. De exemplu, pentru un obiect RangeR comanda este RangeR. Selectați.

* Pentru a accesa un interval care reprezintă același conținut ca și zona selectată, utilizați proprietatea Range.

Rețineți: dacă o metodă referitoare la datele text este apelată într-un interval și doriți să o aplicați selecției, includeți pur și simplu o instrucțiune Selection în codul dvs. Gamă. MethodName.

Word VBA oferă o varietate de metode pentru mutarea și redimensionarea intervalelor și selecțiilor. În această secțiune le consider doar pe cele mai importante dintre ele; Va trebui să consultați sistemul de ajutor pentru alte metode.

Metoda Expand extinde un interval sau o selecție existentă prin adăugarea unui bloc de text la sfârșit. Un bloc poate fi un caracter, un cuvânt, un paragraf sau orice altceva. Puteți adăuga un singur bloc predefinit; În plus, adăugarea unor astfel de blocuri la începutul unui interval sau selecție nu este permisă.

Pentru a adăuga un cuvânt în zona evidențiată care îl va urma imediat, utilizați următoarea instrucțiune:

Selection.Expand(wdWord)

Puteți utiliza oricare dintre următoarele constante pentru a extinde un obiect; wdCharct er, wdWord, wdSentence, wdParagraph, wdSection, wdStory, wdCell, wdColumn, wdRow, wdTable și (numai pentru obiectele Selection) wdLine. Valoarea implicită este constanta wdWord.

Acum există un punct nelipsit pe care ar trebui să-l abordăm: obiectele de selecție (dar nu intervale) conțin și o metodă Expand. Această metodă include un instrument Word care vă permite să extindeți selecția în timp ce mutați indicatorul mouse-ului. De fiecare dată când programul apelează metoda Extend, selecția este extinsă cu blocul de text care urmează imediat punctul de inserare: cuvântul, propoziția, paragraful, selecția sau întregul document curent. Dacă ați specificat argumentul ca un singur caracter, cum ar fi Selection.Expand("C"). zona selectată va fi extinsă la primul caracter specificat întâlnit.

Word VBA vă permite să redefiniți începutul și sfârșitul unui interval sau selecție. Rețineți că metodele care includ cuvântul Mutare în numele lor schimbă locația intervalului sau a selecției: nu mută textul conținut în obiectul specificat.

Metoda Mutare modifică intervalul sau selecția, începând să o micșoreze, marcându-i locația și nemaiavând niciun text în ea. Locația coincide cu începutul obiectului original. Metoda Mutare mută apoi obiectul „comprimat” conform instrucțiunilor dumneavoastră. Odată ce mutarea este completă, puteți utiliza metodele Expand și Mover, și pentru a umple obiectul cu text.

Următorul exemplu mută un interval numit înapoi cu două paragrafe în document. Rețineți că utilizați o constantă numită ca valoare a argumentului Unit (pentru o listă a tuturor constantelor numite valide, consultați

„Extinderea intervalelor și zonelor de selecție” mai devreme în acest capitol). Argumentul Count este un număr întreg pozitiv dacă doriți să mutați obiectul înainte prin document (adică spre sfârșit) sau un număr întreg negativ dacă doriți să mutați obiectul înapoi prin document. În exemplul de mai jos, argumentele nu sunt incluse în paranteze deoarece valoarea returnată a metodei (numărul de elemente mutate) nu este utilizată:

oTheRange .Move Unit: = waParagraph, Count, : = -2

Metode MoveStart. și MoveEnd funcționează aproape în același mod ca metoda Move, doar că schimbă punctul de început sau de sfârșit al unui interval sau, respectiv, selecție. Următoarea instrucțiune va muta începutul selecției cu trei cuvinte mai aproape de sfârșitul documentului:

Select-on.KoveStart Unit:= wdWord, Count:= 3

Rețineți că dacă mutați punctul de pornire al unui obiect până la sfârșit, Word va micșora intervalul sau selecția și o va muta conform instrucțiunilor furnizate.

O altă pereche de metode, Start Of sau EndOf, va amesteca sau extinde începutul sau sfârșitul unui interval sau selecție. Metoda Start Of mută începutul obiectului înapoi la începutul blocului curent, în timp ce metoda EndOt mută capătul obiectului înainte până la sfârșitul blocului curent.

Puteți utiliza argumentul Extindere cu orice metodă pentru a controla ceea ce face Word. Dacă partea amestecată a obiectului este deja pe marginea în care încercați să-l mutați, nu se întâmplă nimic. Utilizați constanta wdMove pentru a micșora un obiect sau constanta wdExtend pentru a muta numai partea specificată. Mai jos este un exemplu relevant:

Selecţie. Start Of Unit:= wdSentence, Extend:= wdMove

Foarte des trebuie să comprimați un interval sau o selecție într-un punct care nu conține niciun text. Din punct de vedere tehnic, un interval sau o selecție restrânsă este una ale cărei puncte de început și de sfârșit sunt aceleași. Comprimarea unor astfel de obiecte este importantă în situațiile în care trebuie să inserați un câmp, un tabel sau un alt element înainte sau după o zonă sau un interval selectat fără a înlocui textul. (Puteți insera text simplu, paragrafe noi și alte elemente în intervalul sau selecția „necomprimat”.)

Utilizați metoda Restrângere pentru a micșora un interval sau o selecție. Puteți micșora un obiect la punctul său de început sau de sfârșit folosind argumentul opțional Direcție. Următoarea declarație micșorează selecția la punctul său de pornire:

Selectie.Restrângere

Și acest exemplu micșorează selecția până la punctul final:

Selection.Collapse(Direction:=wdCollapseEnd)

Dacă restrângeți un interval care se termină cu un marcaj de paragraf până la punctul său final (folosind constanta wdCollapseEnd), Word va plasa intervalul restrâns după marcajul de paragraf (adică intervalul restrâns va fi în următorul paragraf). Dacă doriți să plasați ceva înaintea marcajului de paragraf al intervalului inițial, trebuie mai întâi să mutați intervalul înapoi folosind metoda MoveEnd, folosind o declarație ca aceasta:

Range.MoveEnd Unit:= wdCharacter, Count:= -1

Ștergerea întregului text dintr-un interval sau selecție este ușoară: utilizați doar metoda Delete a obiectului corespunzător. De asemenea, puteți utiliza metoda Cut dacă doriți să eliminați text și să îl plasați în clipboard. Desigur, metoda lui Soru copiază textul în clipboard fără a afecta textul din interval sau selecție.

Puteți lipi textul plasat anterior în clipboard în orice interval sau selecție utilizând metoda Lipire a obiectului. Dacă obiectul destinație nu a fost încă comprimat, textul lipit va înlocui pur și simplu textul original din obiect, la fel ca atunci când rulați comanda Lipire în Word.

Deși folosirea clipboard-ului pentru a transfera text dintr-un loc în altul pare destul de comună, această metodă nu este întotdeauna cea mai eficientă. Este mult mai convenabil să utilizați proprietățile Text sau FormattedText ale unui interval sau selecție. Setați aceste proprietăți la intervalul sau selecția care conține textul pe care doriți să îl transmiteți și asta este tot. Obiectul de destinație trebuie să fie comprimat până când textul transmis trebuie să înlocuiască textul existent în obiect.

Următorul fragment de cod transferă textul din selecție într-un interval comprimat legat de marcaj (a patra linie de cod face operația de transfer). Doar textul în sine intră în noua locație; orice formatare se pierde:

Cu ActiveDocument.Bookmarks(„TheBookmark”)

ActiveDocument.Range(Start:=.Start, End=.Start)

RangeY.Text = Selectare.Text

Pentru a transmite textul și a-l formata, pur și simplu înlocuiți proprietatea Text cu proprietatea FormattedText.

Cea mai ușoară tehnică de reținut pentru adăugarea textului este să setați proprietatea Text a intervalului sau selecției la textul pe care alegeți să îl inserați. Acest lucru este ilustrat de exemplul prezentat mai jos:

Range2.Text = "Hei, hei! Dar nu e nimeni acasă!"

Nu uitați că folosirea proprietății Text va înlocui orice existent pe obiect. Pentru a evita acest lucru (cu excepția cazului în care doriți cu adevărat să înlocuiți textul existent), micșorați mai întâi obiectul.

Utilizați metodele Inserare înainte sau Inserare după ale unui obiect Range sau Selection pentru a insera text într-o anumită locație din document fără a afecta textul existent. Aceste metode vă permit să introduceți text nou imediat înainte sau, respectiv, după obiectul specificat. Word include textul lipit într-o zonă sau interval selectat.

Când utilizați oricare dintre metode, singurul argument este textul pe care doriți să îl introduceți. Următorul fragment de cod inserează un nou paragraf care conține cuvintele Dairy Entry la începutul selecției (rețineți utilizarea constantei VBA vbCr pentru a adăuga un semn de paragraf). După aceasta, la sfârșit se adaugă un nou paragraf, care începe cu data curentă. Dacă ați selectat un paragraf întreg înainte de a rula acest cod, paragraful care conține data curentă va apărea după marcajul paragrafului din zona de selecție.

Definiția 1

Microsoft Office este unul dintre cele mai populare sisteme software utilizate în întreaga lume.

Este greu să găsești un computer care să nu aibă instalat editorul de text Word. Reprezentând un sistem de aplicații strâns legate între ele, MS Office deschide utilizatorilor săi cea mai largă gamă de posibilități.

Visual Basic for Application (VBA) a devenit cel mai puternic instrument pentru crearea de aplicații în MS Office. A înlocuit limbajele de programare macro care erau de obicei incluse în aplicații.

Definiția 2

VBA este un instrument de dezvoltare a aplicațiilor extrem de eficient, deoarece aparține limbajelor de programare orientate pe obiecte și are simplitatea limbajelor macro. Utilizatorii care sunt începători în programarea în suitele de birou își pot înregistra acțiunile folosind un înregistrator de macro și pot crea macrocomenzi fără a învăța caracteristicile limbajului. Înregistrarea acțiunilor dvs. și apoi revizuirea codului înregistrat este cel mai simplu mod de a învăța VBA pe cont propriu.

Nota 1

Acum, folosind VBA, puteți crea ușor și rapid diverse aplicații folosind un singur mediu și limbaj pentru toate programele de birou. Dezvoltatorii de aplicații vor beneficia foarte mult de funcțiile și instrumentele suplimentare ale VBA pentru gestionarea interfeței cu utilizatorul, manipularea evenimentelor, gestionarea erorilor și alte instrumente care le permit să creeze aplicații eficiente cu o interfață ușor de utilizat.

Să ne oprim asupra problemelor dezvoltării aplicațiilor VBA pentru MS Word. Cu VBA, puteți automatiza orice operațiuni pe care le efectuați interactiv (adică manual) în Word: crearea de documente, adăugarea de text sau alte elemente grafice la acestea, formatare, editare, salvare etc. VBA va efectua toate aceste operațiuni mai rapid, mai precis și la un cost mai mic decât un om.

Multe documente, cum ar fi certificate, chitanțe, note și așa mai departe sunt create în MS Word. Aceste documente au o parte constantă și variabilă. Crearea unor astfel de documente poate fi simplificată folosind limbajul de programare VBA.

Crearea unui document text

Să ne uităm la un exemplu de creare a ajutorului în MS Word 2007.

Să creăm un document Word și să-l salvăm cu numele spravka.docx.

Nota 2

Dacă nu există nicio filă Dezvoltator pe panglică, creați-o folosind comanda - Opțiuni Word - Setări personale. În grupul Opțiuni generale Word, selectați Afișați fila Dezvoltator din caseta de selectare Panglică.

Creați macro1 folosind un înregistrator de macro. Macro1 creează textul documentului „HELP”:

  • executați comanda Develop, Macro, Record Macro;
  • În câmpul Nume macro, părăsiți Macro1. În câmpul Macro disponibilă pentru:, selectați numele acestui document spravka.docx. Faceți clic pe OK;
  • tastați textul documentului „HELP” cu parametrii de paragraf și font necesari;
  • opriți înregistrarea macrocomenzii folosind butonul Stop din fila Code-Developer.

Verificați funcționarea macrocomenzii rulând-o cu comanda: Developer, Macros, Macro1, Run.

Textul documentului:

Să creăm Macro2 folosind un înregistrator de macro. Macro2 șterge conținutul documentului (Selectați tot $(Ctrl+A)$, tasta Delete).

Să creăm un panou de acces rapid pentru spravka.docx cu butoane pentru rularea macrocomenzilor.

Pentru a face acest lucru aveți nevoie de:

  • selectați elementul de meniu Opțiuni Word-Setări;
  • în fereastra Configurarea barei de instrumente cu acces rapid și a comenzilor rapide de la tastatură, în fila Selectați o comandă din, selectați Macro-uri și în fila Configurarea barei de instrumente cu acces rapid, selectați Pentru Spravka;
  • În aceeași casetă de dialog de comandă Macro, selectați comanda Macro1 și adăugați-o la panoul de acces rapid pentru documentul Spravka. Adăugați comanda Macro2 în același mod;
  • modificați eticheta sau pictograma butonului atribuit macrocomenzii Editare..., schimbați butonul și numele afișat (de exemplu, Ajutor), selectați o pictogramă nouă pentru buton, modificați-o ușor și atribuiți acestuia o macrocomandă (Macro1) buton;
  • În mod similar, schimbați eticheta și butonul pentru a apela o altă macrocomandă (Macro2), de exemplu, Curățare document.

Rulați macrocomenzi utilizând butoanele de acces rapid Spravka din bara de instrumente.

Pentru a ieși din Word, selectați Ieșire din Word din meniu.

Utilizarea VBA pentru a rezolva probleme în Word

VBA menține un set de obiecte care corespund elementelor Word. Folosind proprietățile și metodele acestor obiecte, puteți automatiza toate operațiunile din Word. Cu toate acestea, este recomandabil să automatizați execuția acelor operațiuni pentru care nu există instrumente standard în Word sau implementarea lor cu instrumente standard necesită o muncă intensivă sau de rutină. Să ne uităm la cele mai importante obiecte.

Obiectul Document reprezintă un document nou sau deschis anterior.

Principalele proprietăți ale obiectului Document sunt:

  • Număr - numărul documentelor deschise în prezent;
  • ActiveDocument - document activ.

Câteva metode ale obiectului Document și ale colecției Documents:

  • Deschide - deschide un fișier care conține un document existent și îl adaugă automat la colecție;
  • Adaugă - adaugă un nou document gol;
  • Salvare - salvează modificările aduse unui document existent fără a fi închis;
  • Salvare ca (numai obiect) - salvează documentul activ, nou creat în folderul curent;
  • Item - vă permite să accesați un element de colecție;
  • Activare (numai obiect) - activează documentul deschis;
  • PrintOut (doar pentru obiect) - tipăriți documentul;
  • Închidere - închide documentul.

Obiectele Caracter (simbol), Cuvânt (cuvânt), Propoziție (propoziție), Paragraf (paragraf), Secțiune (secțiunea document) specifică structurarea textului documentului.

Toate aceste obiecte au următoarele proprietăți:

  • Count - proprietatea returnează numărul de elemente din colecție;
  • First - proprietatea returnează un obiect care este primul element al colecției;
  • Last - proprietatea returnează obiectul care este ultimul element.

Colecțiile Caractere, Cuvinte, Propoziții au o singură metodă Item(Index).

Colecția Paragraphs are toate proprietățile enumerate mai sus pentru acest grup de colecții și multe proprietăți ale căror valori determină formatul paragrafului.

Formatul de paragraf poate fi determinat și folosind metode. Iată câteva metode ale colecției Paragraphs:

  • Item - definește un element de colecție;
  • Add - adaugă un nou paragraf gol (parametrul metodei specifică punctul de inserare, specificat de obiectul Range);
  • InsertParagraph, InsertParagraphAfter, InsertParagraphBefore - inserați un paragraf gol în loc de text fie după sau înainte de textul specificat de obiectul Selection sau Range;
  • Reset - elimină formatarea manuală, aplicând formatul specificat de stilul de paragraf la paragraful;
  • Indent, Outdent - mărește sau micșorează indentarea paragrafului de la marginea foii;
  • TabHangingIndent(Număr), TabIndent(Număr) - creștere (Număr>0), descreștere (Număr
  • Spațiu1, Spațiu2, Spațiu15 - setați spațierea între linii (single, dublu, unu și jumătate).

Obiectele Range și Selection reprezintă părți ale unui document.

Definiția 3

Obiectul Range vă permite să specificați un interval arbitrar, care este o secvență de elemente indexate și poate fi obținut prin metoda Range sau prin proprietatea Range a altor obiecte.

Proprietățile obiectului Range sunt:

  • Start - poziția caracterului inițial al intervalului;
  • Sfârșit - poziția finală a caracterului intervalului;
  • Text - vă permite să obțineți sau să modificați conținutul unui obiect.

Definiția 4

Obiectul Selection specifică zona (fragmentul) selectată în document. O selecție într-un document definește o zonă adiacentă de elemente, dar nu este un interval definit de începutul și sfârșitul acesteia. O singură selecție poate fi selectată, astfel încât un obiect Selection poate fi activ la un moment dat, acesta poate fi obținut folosind proprietatea Selection sau metoda Select a altor obiecte.

Mai jos sunt câteva metode inerente obiectelor Selection și Range:

  • Mutare - metoda de mutare a punctului de inserare;
  • MoveStart, MoveEND - metode de modificare a valorii proprietăților Start și End;
  • Collapse - restrânge intervalul la începutul sau la sfârșitul său;
  • Următorul - metodă de obținere a unei legături către următorul element al unei colecții de obiecte dintr-un interval sau fragment selectat;
  • Delete - șterge textul inclus în interval;
  • InsertAfter , InsertBefore inserează text înainte sau după textul inclus în interval.
  • Copiere - copiază un obiect în clipboard;
  • Cut - mută obiectul în clipboard;
  • Paste - vă permite să plasați conținutul buffer-ului în zona specificată de obiectul Range sau Selection.

10. Programareîn cuvânt

10.1 De ce să programați în Word

Crearea de aplicații VBA în Word, situații tipice

Word este cea mai veche și mai populară aplicație inclusă în Microsoft Office. În majoritatea organizațiilor, utilizatorii pregătesc documente în Word.

Din punct de vedere al programării, Word este în primul rând un instrument pentru producerea de rapoarte asupra bazelor de date. În acest caz, un raport este orice document care este generat pe baza informațiilor din baza de date, de exemplu, un acord, un certificat de acceptare, un ordin de primire de numerar, un anunț pentru o contribuție în numerar, o comandă către departamentul de contabilitate, o factură etc. Desigur, rapoartele care pot fi generate în Word includ și documente cu date rezumative - rapoarte de perioadă, extrase de cont etc.

Autorul a trebuit să creeze aplicații cu rapoarte dezvoltate într-o varietate de produse software - Microsoft Access, Crystal Reports, Microsoft Reporting Services etc. Dacă aplicația dvs. generează rapoarte de baze de date în Microsoft Word, atunci, cel mai probabil, astfel de rapoarte nu vor fi cele mai rapide în ceea ce privește generarea lor și nici cele mai simple în ceea ce privește programarea. Dar cu siguranță vor fi cei mai prietenoși cu utilizatorul final. De ce?

Foarte des, la o întreprindere, este nevoie să corectați doar câteva rânduri în formularul de raport - de exemplu, în loc de „Director”, puneți „Director interimar”. Dacă raportul a fost creat în Crystal Reports sau Microsoft Reporting Services, va trebui să contactați imediat dezvoltatorul. Și după ceva timp I.O. va fi confirmat ca director, iar dezvoltatorul va trebui să editeze din nou raportul.

Dacă raportul este creat inițial într-un document Word, atunci utilizatorul poate face oricând modificările necesare documentului creat - marea majoritate a utilizatorilor din întreprindere știu să lucreze în Word. Nu mai este nevoie să cauți urgent un dezvoltator.

Există și alte beneficii ale producerii de rapoarte în Word. De regulă, atunci când se produc rapoarte în Word, valorile din baza de date sunt înlocuite în șablonul de raport, care este stocat în baza de date sau în sistemul de fișiere (într-un fișier *.dot). Dacă formatul de raport este complex, cu mult design specific (de exemplu, un anunț pentru o contribuție în numerar), atunci este mult mai ușor să-i pregătiți șablonul în Word decât, de exemplu, în Crystal Reports sau Reporting Services.

O altă aplicație software a Word lucrează cu diferite formate de documente. Word poate lucra cu documente de o varietate de formate. Aceste capabilități pot fi utilizate pentru procesarea în masă a documentelor.

Un caz din practică: într-un director de pe disc am adunat câteva sute de documente „diferite dimensiuni” de la diferiți utilizatori. Unele dintre ele au fost create în Word de diferite versiuni, unele sunt doar fișiere text, unele documente sunt în formate HTML, XML sau EML (mesaje de e-mail). Întreprinderea a implementat un sistem de management al documentelor bazat pe SharePoint Portal Server și trebuie să aducem toate aceste documente într-un singur format (Word 2003) și să le încărcăm pe SharePoint Portal Server. Bineînțeles, fără automatizare într-o astfel de situație va trebui să mânuiești foarte mult timp.

A treia aplicație software a Word este formatarea documentelor, de exemplu, aplicarea programatică a stilurilor, căutarea și înlocuirea secțiunilor de text în multe documente simultan, lucrul cu structura documentului etc. De obicei, astfel de sarcini sunt stabilite în edituri, de exemplu, atunci când se pregătesc manuscrise.

Pe o pagină de document Word, puteți organiza munca cu un program destul de complex, fără a crea măcar formulare Windows separate pentru aceasta, care sunt lansate, de exemplu, atunci când deschideți un document sau când faceți clic pe un buton de pe pagina documentului, dar pur și simplu plasând câmpuri de introducere a datelor pe acesta și afișând programatic pe aceeași pagină rezultatele după modificarea datelor.

Cu toate acestea, multe calcule matematice sunt mai ușor de efectuat în Excel; atunci când stochează informații în baze de date, Access are capabilități foarte mari de procesare a acestor informații. Atunci când lucrați cu baze de date în sisteme informatice mari, este posibil să se genereze rapoarte cu rezultate în Word sau Excel, iar dezvoltarea unor astfel de programe poate fi efectuată numai de un specialist care cunoaște bine atât arhitectura sistemului informatic. baza de date și limbajul VBA.

Puteți învăța câteva principii de lucru cu obiecte Word dacă înregistrați o anumită secvență a acțiunilor dvs. folosind instrumentul Word Record Macro, care este prezent în fila Dezvoltator a panglicii. Această filă este prezentă dacă, în Opțiuni Word din pagina General, este bifată fila Afișare Dezvoltator din caseta de selectare a panglicii.

Să facem următoarele:

1) faceți clic pe butonul Înregistrare macro; nici butonul și nici tastele nu pot fi alocate macro-ului; setăm unde va fi salvat textul macro-ului: Macro-ul este disponibil pentru documentul curent;

2) treceți la sfârșitul documentului din poziția curentă (nu era la sfârșit) apăsând tastele Ctrl+End;

3) apăsați tasta Enter și scrieți cuvântul „Bună ziua!”;

4) repetați din nou operația de la pasul 3;

5) selectați ultimul cuvânt apăsând Shift+Home și apăsați tasta Delete;

6) mergeți la începutul primului rând „Bună ziua!”, apăsați Shift+End și apoi tasta Delete;

7) în fila Dezvoltator, faceți mai întâi clic pe butonul Oprire înregistrare, apoi pe butonul Visual Basic;

8) în fereastra editorului Visual Basic care se deschide în stânga în panoul Proiect, faceți dublu clic pe secțiunea Progect() - Module - NewMacros și vedeți în dreapta o fereastră cu textul programului în VBA, care este afișat în figura 5.43.

La salvarea unui document care conține module de program, în sistemul Microsoft Office 2007 trebuie să selectați tipul de fișier Word Document cu suport macro, altfel textul programelor nu va fi salvat.

În textul macro din Figura 5.43, Selecția este unul dintre obiectele principale care conține obiectul principal Aplicație - aplicația Word.

Figura 5.43. Text macro în VBA


Când scrieți textul programului, puteți utiliza lista pop-up de proprietăți și metode care apare pentru obiectele standard în editorul Visual Basic după ce scrieți numele obiectului și faceți clic pe punctul de după acesta (vezi Figura 5.44); o descriere completă a proprietățile și metodele obiectelor sunt disponibile în sistemul de ajutor.

De asemenea, puteți obține o listă pop-up de proprietăți și metode apăsând combinația de taste Ctrl+Space.


În plus, atunci când scrieți textul programului pentru proceduri și funcții standard, în sintaxa lor apar indicații cu instrumente (vezi Figura 5.45).

MsgBoA(Protr [ShsteLz VbMsgBoxStule = vbOKOPlu], )