Vba la exemple de cuvinte. Utilizarea vba pentru a rezolva probleme în Word

Definiția 1

Microsoft Office- una dintre cele mai populare sisteme software, folosit în toată lumea.

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.

Cel mai puternic instrument pentru crearea de aplicații în MS Office a devenit Limbajul vizual De bază pentru Aplicație (VBA). 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. Programare pentru incepatori pachete de birou Utilizatorii își pot înregistra acțiunile folosind un înregistrator de macro și pot crea macrocomenzi fără a învăța limba. Înregistrarea acțiunilor dvs. în acest fel și apoi vizualizarea codului înregistrat este cel mai simplu mod de a auto-studiu VBA.

Nota 1

Acum, folosind VBA, puteți crea ușor și rapid aplicatii diverse folosind același lucru pentru toată lumea programe de birou mediu și limbaj. Dezvoltatorii de aplicații îl vor găsi foarte util caracteristici suplimentareși instrumente VBA pentru management interfața cu utilizatorul, gestionarea evenimentelor, gestionarea erorilor și alte instrumente care vă vor permite să creați aplicatii eficiente cu o interfață prietenoasă.

Să ne oprim asupra problemelor dezvoltării aplicațiilor VBA pentru MS Word. Folosind VBA, puteți automatiza orice operațiuni efectuate interactiv (adică manual) în Word: crearea de documente, adăugarea de text sau alte elemente grafice, 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 macrocomandă, lăsați Macro1. În câmpul Macro disponibil pentru: selectați un nume a acestui document spravka.docx. Faceți clic pe OK;
  • tastați textul documentului „HELP” din parametrii necesari paragraf și font;
  • 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 recorder macro. Macro2 șterge conținutul documentului (Selectați tot $(Ctrl+A)$, tasta Delete).

Să creăm un panou 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, iar î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 pictogramă nouă pentru un buton, schimbați-l ușor și atribuiți o macrocomandă (Macro1) acestui 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 executarea acestora mijloace standard este muncă intensivă sau de rutină. Să luăm în considerare cele mai importante obiecte.

Obiectul Document reprezintă un document nou sau deschis anterior.

Principalele proprietăți ale obiectului Document sunt:

  • Număr - numărul de deschise în acest moment documente;
  • 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ții Caractere, Cuvinte, Propoziții au singura metoda Element (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 - inserare paragraf golîn loc de text sau după sau înainte de text specificat de un obiect Selection sau Range;
  • Resetare - elimină formatarea manuală, aplicând formatul specificat de stilul de paragraf la paragraf;
  • 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
  • Space1, Space2, Space15 - instalați spațiere î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 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;
  • Lipire - vă permite să lipiți conținutul tamponului în zonă dat de obiect Interval sau selecție.

Capitolul 15. Programarea VBA în Word.

In acest capitol...

~ Word Object Model

~Cheie Obiecte cuvânt: ferestre, selecții, intervale și obiectul Găsiți

~ Intervale sau evidențieri: ce să utilizați când lucrați cu text

~ Metode și proprietăți pentru manipularea textului

~ Găsiți și înlocuiți text folosind VBA în Word

Din întregul set Aplicații de birou Word oferă cel mai bogat set de instrumente de programare. Cunoașterea obiectelor Word precum Range și Find poate fi uneori riscantă, dar este esențial dacă doriți cu adevărat să creați proceduri VBA care să elibereze întreaga putere a Word. Exact despre asta vom vorbi în acest capitol.

Modelul obiect Word conține atât de multe obiecte și colecții ale acestora încât ai avea nevoie de o foaie uriașă de hârtie dacă ai dori să construiești o ierarhie a tuturor acestor obiecte pe ea. grafic. Evident, voi putea lua în considerare doar o mică parte din numărul colosal de obiecte, proprietăți și metode pe care le puteți utiliza în programele dumneavoastră. Acest capitol acoperă doar cele mai multe tehnici importante lucreaza cu Cuvântul VBA. Dacă vrei să obții mai mult Detalii, va trebui să accesați sistemul de ajutor în mod repetat.

Prezentarea obiectului aplicație

Ca și în cazul tuturor aplicațiilor VBA, cheia modelului obiect Word este Obiect de aplicație. Cu alte cuvinte, acest obiect conține toate celelalte obiecte Word. Deoarece obiectul Aplicație este esențial pentru programarea VBA în Word, nici măcar nu trebuie să-l denumiți în mod explicit atunci când lucrați cu multe obiecte importante. Cu toate acestea, nu trebuie să uitați rolul pe care îl joacă acest obiect, deoarece veți avea nevoie de el atunci când lucrați cu proprietățile și metodele aplicației în sine, precum și atunci când accesați alte obiecte. De exemplu, următoarea instrucțiune utilizează metoda List Commands a obiectului Application:

Application.ListCommands(True)

Apropo, metoda List Commands creează document nouși plasează în el un tabel care conține comenzi rapide de la tastatură și comenzi din meniul Word. Dacă treceți metoda List Commands True, noul document conține comenzi rapide de la tastatură și comenzi din meniul Word. Dați-l False, astfel încât să afișeze doar comenzile.

Din cartea Office Programming autor Friesen Irina Grigorievna

Partea a II-a Programare în VBA în Word

Din cartea Munca eficientă de birou autor Ptaşinski Vladimir Sergheevici

Capitolul 12 Cuvânt: Tot ce ai vrut să spui Cuvânt este unul dintre primele programe de aplicație, dezvoltat de Microsoft urmând cele de sistem. Primele versiuni au apărut acum mai bine de 10 ani și în tot acest timp au fost îmbunătățite. Primele versiuni ale programului se numeau deja text

Din cartea Word 2007. Tutorial popular autorul Krainsky I

Capitolul 1 Bazele Microsoft Word

Din cartea Fundamentals of Computer Science: Textbook for Universities autor Malinina Larisa Alexandrovna

Capitolul 5 Editor de text Microsoft Word 5.1. Lansarea editorului, crearea, deschiderea și salvarea documentelor Editorul de text Microsoft Word este conceput pentru a crea și procesa orice documente text de la o simplă notă la aspectul original al unei publicații complexe. Lucrul cu textul

Din cartea Tehnologii de programare autorul Kamaev V A

Capitolul 9 PROGRAMARE VIZUALĂ 9.1. CONCEPTUL GENERAL DE PROGRAMARE VIZUALĂ Programare vizuală este în prezent. timp una dintre cele mai populare paradigme de programare. Programarea vizuală constă în dezvoltare automatizată

Din cartea Programare în Limba rubin[Ideologia limbajului, teoria și practica aplicării] de Fulton Hal

Capitolul 18. Programarea în rețea Dacă un comerciant spune cuvântul „rețea” într-o conversație cu tine, cel mai probabil vrea să-și vândă carte de vizită. Dar în gura unui programator acest cuvânt înseamnă interacțiune electronică fizic mașini la distanță- nu contează dacă sunt localizate

Din cartea VBA for Dummies de Steve Cummings

Capitolul 16. Programarea VBA în Excel. În acest capitol...~ Ce este model de obiect Excel~ Manipularea celulelor utilizând obiecte de interval~ Crearea propriilor funcții pentru a fi utilizate în formulele foilor de lucru~ Folosind elementele încorporate Funcții Excelîn VBA-cola~ Lucrul cu

Din cartea Programarea PDA-urilor și a smartphone-urilor pe .NET Compact Framework autor Klimov Alexander P.

Capitolul 17. Programarea bazelor de date. În acest capitol...~ Prezentarea terminologiei~ Scrierea codului bazei de date cu obiecte de date ActiveX~ Programarea cu DAO~ Accelerarea cu SQLDeși accesul este cerere oficială a lucra cu baze de date,

Din cartea Cu computerul pe tine. Esențiale autorul Egorov A. A.

Capitolul 9 Programarea pentru smartphone-uri Caracteristici de programare pentru smartphone-uri În acest capitol vom învăța cum să creăm aplicații pentru smartphone-uri controlate de sistem Windows Mobile 5.0. Sa întâmplat că în Rusia smartphone-urile care rulează Smartphone 2003 nu au fost primite inițial

Din cartea Linux: Ghid complet autor Kolisnichenko Denis Nikolaevici

Capitolul 4 Microsoft Word 4.1. Caracteristicile Microsoft Word Microsoft Word este una dintre cele mai bune și mai puternice editori de text până în prezent. Word, spre deosebire de Notepad și WordPad, nu este inclus în Windows, dar este distribuit ca parte a software-ului Pachetul Microsoft Birou. Programul are un uriaș

Din cartea Calculator pentru contabil autor Filatova Violetta

Capitolul 28 Programarea nucleului În Capitolul 7, ați învățat că driverele de dispozitiv în Linux sunt implementate ca module de nucleu și ați fost introdus în pachetul module-init-tools (alias modutils pentru nucleele 2.4), care conține utilitare pentru efectuarea operațiunilor de bază pe modulele nucleului. În acest capitol voi arăta cum

Din cartea Firebird DATABASE DEVELOPER'S GHIDE de Borri Helen

Capitolul 6 Lucrul cu Word De obicei, lucrul cu editorul Word nu provoacă dificultăți: textul este introdus în el în același mod ca în editorul Notepad. Dificultățile încep atunci când trebuie să faceți corecții și completări documentului creat. Spre surprinderea utilizatorului,

Din cartea Access 2002: Tutorial autor Dubnov Pavel Iurievici

CAPITOLUL 27. Programare cu tranzactii. Tranzacția este punctul de plecare pentru toate interacțiunile aplicație client cu serverul. În acest capitol, vom analiza începerea, gestionarea și finalizarea tranzacțiilor din perspectiva diferitelor interfețe client

Din carte Computer de birou pentru femei autor Pasternak Evgenia

Capitolul 11 ​​Programare Limbajul SQL După cum s-a discutat în Capitolul 9, principala specialitate a limbajului SQL este construirea de interogări de utilizator pe baza unei baze de date. Prin urmare, programarea în limbajul SQL este în principal formarea unui astfel de limbaj

Din cartea Calculatorul este ușor! autorul Aliev Valery

Capitolul 1 Microsoft Word Text Editor

Din cartea autorului

Capitolul 3 Microsoft Word sau Cum să imprimați pe un computer Pentru ce este? procesor de cuvinte? Începutul lucrărilor Setări Microsoft Panouri de cuvinte instrumente Crearea unui document Formatarea unui document Evidențierea Editarea unui document Tabele și chenarele WordArt.

Lecția nr. 9. VBA într-o aplicație pentru Word

Pachetul Word combinat cu VBA oferă oportunități ample pentru lucrul cu text sau fragmente de text. Puteți apela orice paragraf, propoziție etc. pentru procesare.

Pentru a accesa anumite fragmente ale unui document, obiecte precum Secțiuni(secțiuni), Paragrafe(paragrafe), Propoziții(promoții), Cuvinte(cuvinte), etc.

Cuvintele(6) vă permite să mergeți la al șaselea
cuvânt într-un document

Propozițiile (11) trec la a unsprezecea propoziție

După navigarea la o anumită parte a documentului, puteți utiliza obiectul Font, care vă permite să modificați proprietățile fontului. Acest obiect conține metode găsite în formatul | Font”.

Un obiect Gamă este de bază în operația de editare. Poate fi considerată ca o bucată continuă de text (nu are legătură cu selecția în niciun fel) care este independentă de poziția cursorului. Gamă include obiecte precum Cuvinte(cuvinte) sau Propoziții(promoții); la accesarea lor obiectul în sine Gamă nu este nevoie să indicați, în timp ce pentru Secțiuni(secțiuni) sau Paragrafe(paragrafe) acest lucru trebuie făcut.

Un obiect Gamă acceptă metodele de bază utilizate la formatarea textului (cum ar fi comenzile de meniu „Copy”, „Paste”, „Cut”, „Format”).

Pentru a finaliza sarcinile, va trebui să utilizați funcții care funcționează cu variabile simbolice.

Pentru a vă familiariza cu exemplele de cod, este recomandabil să utilizați o tehnică prin care formatați o parte a unui document în modul de înregistrare macro, apoi analizați codul macro și editați-l.

Pentru a înregistra o macrocomandă aveți nevoie de:

1. Selectați „Service | Macro | Începe să înregistrezi."

2. Introduceți numele noii macrocomenzi în fereastra „Înregistrare macrocomandă” în câmpul „Nume macrocomandă”.

3. Selectați din lista „Macro disponibile pentru” șablonul sau documentul în care va fi stocată macrocomanda.

5. Introduceți butonul „Panel” în câmpul „Assign macro” (pentru a atribui un buton barei de instrumente sau o comandă de meniu unei macrocomenzi); butonul „Taste” (pentru a atribui o comandă rapidă de la tastatură unei macrocomenzi); Dacă macrocomanda nu necesită o atribuire, faceți clic pe butonul „OK”. Dacă folosiți adesea o macrocomandă în timpul lucrului, atunci este recomandabil să îi atribuiți un buton sau o comandă rapidă de la tastatură.

Vă rugăm să rețineți că trebuie să utilizați tastatura pentru a înregistra acțiuni, deoarece acțiunile efectuate cu mouse-ul nu sunt înregistrate.

Există o particularitate atunci când salvați un document Word terminat care conține macrocomenzi și proceduri. Dacă vă amintiți că lucrați cu macrocomenzi în Excel, atunci când deschideți un document terminat, se pune întotdeauna întrebarea: „Ar trebui să dezactivez macrocomenzile la deschidere sau nu?” Și dacă specificați că macrocomenzile ar trebui să fie dezactivate, atunci butoanele pregătite nu vor funcționa.

ÎN Editor de cuvinte, spre deosebire de Excel, este instalat protectie puternica din macro-uri (macro-urile sunt considerate viruși), iar atunci când redeschideți același document în care au funcționat toate programele și macro-urile, nu va exista nicio solicitare de activare sau dezactivare a macro-urilor și nici nimic nu va funcționa.

Prin urmare, atunci când salvați un document în Word, trebuie să efectuați următoarea secvență de acțiuni:

2. Selectați „Setări de securitate” în meniul „Service”. Apare caseta de dialog Securitate.

3. Faceți clic pe butonul „Protecție Macro” pentru a schimba nivelul de securitate al fișierului (prestabilit este setat Înalt nivel de securitate , De aceea Când redeschideți fișierul, programele dvs. nu vor fi executate).

4. Selectați în caseta de dialog care apare în fila „Nivel de securitate”. In medie sau Mic de statura nivel de securitate . La alegere In medie nivel de securitate, atunci când deschideți un document, vi se va solicita să activați sau să dezactivați macrocomenzi. Pentru ca programele și macrocomenzile să document lucrat, trebuie să selectați „Nu dezactivați macrocomenzi”.

La alegere Scăzut nivel Dialogul de securitate nu va apărea și macrocomenzile vor fi activate automat.

5. Accesați fila „Surse de încredere” și activați „ Acces de încredere la Visual Basic Proiect".

6. Salvați documentul.

Munca practica Nr. 9–1 „Lucrul în Cuvânt”

Proiectați butoane care pot fi folosite pentru a analiza o propunere. Când plasați cursorul pe un cuvânt găsit și apăsați tasta corespunzătoare, cuvântul ar trebui să fie colorat culoare specificăși subliniază.

Procedura de operare.

1. Introduceți text în editorul WORD.

2. Selectați „Service | Macro | Începe să înregistrezi."

3. Dați macrocomenzii un nume (de exemplu, „Nume_Substantiv”).

4. Introduceți o descriere a macrocomenzii în câmpul „Descriere”.

5. În câmpul „Atribuiți macro”, definiți metoda prin care va fi apelată macro-ul (un buton sau o combinație de taste).

6. Efectuați acțiunile pe care doriți să le includeți în macrocomandă.

În cazul nostru, succesiunea acțiunilor va fi următoarea: plasați cursorul în fața oricărui cuvânt; evidențiați acest cuvânt; setați culoarea fontului la roșu, o singură subliniere.

Nu uita că trebuie să folosești tastatura pentru a înregistra acțiuni!

7. După înregistrarea macro-ului, faceți clic pe butonul „Opriți înregistrarea”.

8. Efectuați aceiași pași pentru a defini predicatul (setați doar culoarea fontului la verde și setați sublinierea dublă).

9. Pregătește un buton „CommandButton1” pe foaia de lucru deasupra textului, denumește-l „Subiect”.

10. Vizualizați programul înregistrat, copiați-l și rescrieți-l prin modul de scriere a programului Text original în buton "Subiect."

11. Faceți aceiași pași pentru butonul „Predicat”.

12. Setați nivelul de securitate a documentului.

Lucrare practică nr. 9–2 „Numărul de paragrafe dintr-un document”

Examinați un document care constă din mai multe paragrafe. Sarcina este de a determina în mod programatic numărul de paragrafe dintr-un document; titlul textului; La sfârșitul documentului, afișați un mesaj despre numărul de paragrafe.

Știm ce este în program Cantitatea de cuvinte paragrafele sunt determinate de simbolul ¶, care apare de fiecare dată când apăsați tasta. Dar verificarea și numărarea numărului acestor simboluri este nepractică, deoarece există metode standard. Să ne amintim că documentul cu care lucrăm se numește document activ și ne vom referi la el în program ActiveDocument.

Să luăm, de exemplu, un text despre Internet, și anume, transferul de informații și protocoale. Textul conține 6 paragrafe, judecând după numărul de caractere speciale.

Procedura de operare.

1. Apelați panoul de control („Vizualizare | Bare de instrumente | Comenzi”).

2. Pregătiți butonul „CommandButton1” pe foaia de lucru sub text.

3. Redenumiți butonul în „Număr de paragrafe”. Pentru a face acest lucru, apelați „Proprietăți” de pe panoul de control. Va apărea panoul „Proprietăți”. Selectați proprietatea „Caption” și introduceți un nume în coloana din dreapta.

4. Dați butonului proprietatea de a curge de-a lungul unui contur, astfel încât butonul să poată fi mutat în jurul foii. Pentru a face acest lucru, apelați meniul contextual de pe obiectul buton și selectați „Format obiect”. Apare caseta de dialog Format Control. În fila „Poziție”, selectați opțiunea „După contur”.

5. Selectați comanda „Text sursă” din meniul contextual al acestui obiect sau faceți dublu clic pe butonul. Se va deschide editorul modului de scriere a programului.

Algoritm pentru finalizarea sarcinii:

1. Declarați variabile:

a) k - o variabilă pentru numărarea numărului de paragrafe din document;

b) Text - variabilă pentru generarea unui text de răspuns despre numărul de paragrafe;

c) ZAGOLOVOK - o variabilă care va determina zona pentru afișarea titlului.

2. Determinați numărul de paragrafe folosind metoda Count a obiectului Paragraphs.

3. Generați textul de ieșire al mesajului.

4. Introduceți un paragraf suplimentar după ultimul paragraf al documentului pentru a afișa mesajul.

5. Trimite mesajul text în paragraful pregătit.

6. Creați o zonă pentru a afișa titlul „Protocoale”.

7. Afișați numele „Protocoale”.

8. Setați fontul și dimensiunea titlului.

9. Introduceți simbolul de sfârșit al paragrafului, astfel încât titlul și începutul textului să fie pe linii diferite.

Această sarcină poate fi extinsă. De exemplu, lăsați mesajul despre numărul de paragrafe să fie afișat în roșu și dimensiunea fontului 14. Elevii pot completa acest fragment în mod independent. Vă rugăm să rețineți că plasarea acestui fragment de program este foarte importantă: ar trebui să fie localizat numai în această parte a programului și nu după ce lucrați cu antetul.

Rezultatul executării programului este prezentat în figură.

Linia de program

Punctul algoritmului

Public Sub CommandButton1_Click()

start
Dim k ca întreg 1a
Dim text ca șir 1b
Dim ZAGOLOVOK As Range 1c
Dim RESULTAT As Range

Această parte este pentru îndeplinirea unei sarcini suplimentare

2
Text = "Numărul de paragrafe din acest document este " & k & "." 3
4
ActiveDocument.Paragrafe(k + 1).Range.InsertBefore Text 5

Setați REZULTAT = ActiveDocument.Paragraphs(k + 1).Range

Cu REZULTAT .Font.Name = "Arial" .Font.Size = 14

Font.ColorIndex = wdDarkRed End With

Această parte este pentru îndeplinirea unei sarcini suplimentare
Setați ZAGOLOVOK = ActiveDocument.Range(Start:=0, End:=0) 6
Cu ZAGOLOVOK Începutul structurii Cu
.InsertBefore „Protocoale” 7
.Font.Name = „Arial” 8
.Font.Size = 24 8
.InsertParagraphAfter 9
Se termina cu Sfârșitul structurii With
End Sub Sfârşit

Lucrare practică Nr. 9–3 „Numărul de litere A(rusă) la paragraful"

Această activitate de practică se desfășoară pe același document ca și activitatea #9-2 (cu un document care constă din mai multe paragrafe). Sarcina este de a determina programatic numărul paragrafului în care vor fi numărate literele A; numără numărul lor; la sfârșitul documentului (sau după paragraful în care a avut loc numărarea) afișați un mesaj despre numărul de litere.

Procedura de operare.

2. Pregătiți un buton pe foaia de lucru sub textul „CommandButton2”.

3. Redenumiți butonul în „Număr de litere” Aîntr-un paragraf”.

4. Dați butonului un format de înfășurare, astfel încât să poată fi mutat în jurul foii.

text” sau faceți dublu clic pe buton (vom intra în editor în modul de scriere a programului).

1. Declarați variabile:

a) b - o variabilă șir pentru plasarea paragrafului selectat în document;

b) k - o variabilă pentru stocarea numărului de paragrafe din document;

c) dl - variabilă pentru stocarea lungimii paragrafului;

d) Text - variabilă pentru generarea textului de răspuns despre numărul de caractere Aîntr-un paragraf;

e) Nab - variabila pentru introducerea numarului paragrafului in care va avea loc numaratoarea;

f) I - variabila pentru organizarea ciclului;

g) kol - variabilă pentru numărarea caracterelor A;

h) REZULTAT - o variabilă care va determina zona de afișare a antetului.

2. Introduceți numărul paragrafului folosind caseta de dialog.

3. Determinați numărul de paragrafe din document.

4. Verificați existența numărului de paragraf introdus și afișați un mesaj de eroare dacă nu există.

5. Introduceți textul întregului paragraf în variabila b.

6. Determinați lungimea paragrafului.

7. Organizați o buclă pentru a găsi un simbol A.

8. Generați textul de ieșire al mesajului.

9. Introduceți un paragraf suplimentar după ultimul paragraf al documentului pentru a afișa mesajul.

10. Trimite mesajul text în paragraful pregătit.

11. Setați un anumit font, dimensiune și culoare pentru textul mesajului.

Linia de program

Punctul algoritmului

Private Sub CommandButton2_Click() Program Start

start
Dim b ca șir 1a
Dim k ca întreg 1b
Dim dl As Long 1c
Dim text ca șir 1d
Dim Nab ca număr întreg 1e
Dim i As Long 1f
Dim RESULTAT As Range 1 g
kol = 0
Nab = InputBox(„Introduceți numărul paragrafului”, „Numărați literele a”) 2
k = ActiveDocument.Paragraphs.Count 3
Dacă Nab > k Atunci 4
MsgBox „Nu există un astfel de paragraf în text”, 48, „Avertisment” 4
Sfârşit 4
Încheiați dacă 4
b = ActiveDocument.Paragraphs(Nab).Range 5
dl = Len(b) 6
Pentru i = 1 To dl 7
Dacă Mid(b, i, 1) = "a" Sau Mid(b, i, 1) = "A" atunci kol = kol + 1 7
Apoi eu 7
MsgBox kol Cuptor de depanare
Text = „Număr de litere Aîn paragraful numerotat "& Nab & " - " & kol & "." 8
ActiveDocument.Paragraphs(k).Range.InsertParagraphAfter 9
Setați REZULTAT = ActiveDocument.Paragraphs(k + 1).Range
Cu RESULTAT
.InsertBefore Text 10
.Font.Name = „Arial” 11
.Dimensiune.font = 14 11
.Font.ColorIndex = wdDarkRed 11
Se termina cu
End Sub Sfârșitul programului

Rezultatul execuției este prezentat în figură.

Lucrare practică nr. 9–4 „Propoziții într-un paragraf”

Acest lucru de practică se realizează pe același document ca Lucrările nr. 9-2 și 9-3 (sau orice text care constă din mai multe paragrafe). Sarcina este de a determina în mod programatic numărul paragrafului care conține cel mai mare număr de propoziții; evidențiați mesajul despre numărul de paragraf și numărul de propoziții folosind caseta de dialog; evidențiați acest paragraf cu o culoare diferită.

Procedura de operare.

1. Apelați panoul de control „Vizualizare | Bare de instrumente | Controale”.

2. Pregătiți butonul „CommandButton3” pe foaia de lucru sub text.

3. Redenumiți butonul în „Propoziții în Paragraf”.

4. Dați-i un format de înfășurare, astfel încât butonul să poată fi mutat în jurul foii.

5. Selectați elementul „Inițial” din meniul contextual al acestui obiect text” sau faceți dublu clic pe buton (intram în editor în modul de scriere a programului).

Algoritmul pentru finalizarea sarcinii este următorul:

1. Declarați variabile:

a) k - o variabilă pentru stocarea numărului de paragrafe din document;

b) kol - o variabilă pentru a stoca numărul de propoziții dintr-un paragraf;

c) i - variabilă pentru organizarea ciclului;

d) Mas() - o matrice pentru introducerea numărului de propoziții în paragrafe;

e) Răspuns - variabilă pentru generarea unui text de răspuns cu rezultate;

f) Max - o variabilă pentru a stoca numărul maxim de propoziții dintr-un paragraf;

g) ind - variabilă pentru stocarea numărului de paragraf cu număr maxim propuneri;

h) REZULTAT - o variabilă care va determina zona paragrafului la care trebuie aplicate elementele de formatare.

Când declarăm o matrice, nu știm numărul de paragrafe din document. Prin urmare, declarăm tabloul în două etape: 1st stage - declarație fără dimensiune Dim Mas() As Integer; Etapa 2 - după determinarea numărului de paragrafe din document, redefinim dimensiunea matricei ReDim Mas(k) As Integer. Astfel de matrice sunt numite dinamice.

În plus, pentru ca indexul matricei să înceapă de la 1 și nu de la 0 (pentru ușurință în operare), în editorul de la începutul foii cu procedura, specificați comanda „Option Base 1”.

3. Redefiniți dimensiunea matricei.

4. Organizați un ciclu pentru a determina numărul de propoziții din paragrafe, introducând dimensiunile acestora într-o matrice și stocând numărul de serie în matrice, care corespunde numărului de paragraf.

5. Organizați un ciclu pentru a găsi cel mai mare număr propoziții dintr-un paragraf (lucrund cu o matrice generată) folosind un algoritm standard.

6. Generați textul de ieșire al mesajului.

7. Afișați rezultatul în caseta de dialog pentru mesaj.

8. Determinați zona de paragraf care trebuie formatată.

9. Setați un anumit font, dimensiune și culoare pentru textul paragrafului cu numărul maxim de propoziții.

Linia de program

Punctul algoritmului

Private Sub CommandButton3_Click()

Începutul programului
Dim k ca întreg 1a
Dim kol As Integer 1b
Dim i ca întreg 1c
Dim Mas() ca întreg 1d
Dim răspuns ca șir 1e
Dim Max ca întreg 1f
Dim ind As Byte 1 g
Dim RESULTAT As Range 1h
kol = 0: k = 0 Resetarea variabilelor
k = ActiveDocument.Paragraphs.Count 2
ReDim Mas(k) As Integer 3
Începe programul Rem Un comentariu
Pentru i = 1 To k 4
kol = ActiveDocument.Paragraphs(i).Range.Sentences.Count 4
Mas(i) = kol 4
Apoi eu 4
Max = Mas(1) Partea pregătitoare înainte de ciclu
ind = 1
Pentru i = 2 To k Începutul ciclului
Dacă Mas(i) > Max Atunci 5
Max = Mas(i) 5
ind = i 5
Încheiați dacă 5
Apoi eu Sfârșitul ciclului
Rezultate Rem Output Un comentariu

otvet = „Cel mai mult un numar mare de oferte in "

& ind & " paragraf - " & Max

6
Răspuns MsgBox 7
Setați REZULTAT = ActiveDocument.Paragraphs(ind).Range 8
Cu RESULTAT Începutul structurii Cu
.Font.Name = „Arial” 9
.Dimensiune.font = 12 9
.Font.ColorIndex = wdDarkRed 9
Se termina cu
End Sub Sfârșitul programului

Caseta de dialog cu mesajul rezultat va arăta astfel:

Rezultatul sarcinii este prezentat în figură.

Lucrarea practică nr. 9–5
„Cuvinte-palindrome”

Sarcina este de a determina în mod programatic dacă există cuvinte palindromice în text și de a evidenția aceste cuvinte cu o culoare diferită.

Procedura de operare.

1. Pregătește un text (poți veni cu o poveste sau o poezie cu cuvintele palindromice SHALASH, COSSACK, NAGAN, MADAM etc.).

2. Apelați panoul de control „Vizualizare | Bare de instrumente | Controale”.

3. Pregătiți butonul „CommandButton1” pe foaia de lucru sub text.

4. Redenumiți butonul în „Palindromes”.

5. Dați butonului creat un format de înfășurare de-a lungul conturului, astfel încât să poată fi mutat în jurul foii.

6. Selectați elementul „Inițial” din meniul contextual al acestui obiect text” sau faceți dublu clic pe butonul.

Algoritmul pentru finalizarea sarcinii este următorul:

1. Declarați variabile:

a) Slovo - o variabilă pentru stocarea secvențială a cuvintelor selectate;

b) L - variabilă pentru a stoca lungimea cuvântului;

c) M - o variabilă care determină jumătate din lungimea cuvântului selectat;

d) K - variabila pentru formarea primei jumatati a cuvantului;

e) D - variabila pentru formarea celei de-a doua jumatati a cuvantului;

f) Kol - o variabilă pentru a stoca numărul de paragrafe din document.

2. Determinați numărul de paragrafe din document.

3. Determinați zona în care trebuie să căutați cuvinte palindromice - acestea sunt toate paragrafele textului.

4. Organizați un ciclu pentru a evidenția cuvintele din zona de definiții.

5. Atribuiți cuvântul selectat unei variabile șir.

6. Determinați lungimea cuvântului evidențiat.

7. Verificați lungimea cuvântului. Dacă este egal cu 1, atunci nu are rost să verifici cuvântul.

8. Buclă pentru a determina dacă un cuvânt este un palindrom.

9. Schimbați culoarea literelor dintr-un cuvânt palindromic.

Linia de program

Punctul algoritmului

Sub CommandButton privat 1_Click()

Începutul programului
Dim cuvânt ca șir 1a
Dim L ca octet 1b
Dim M ca octet 1c
1d
Dim D ca șir 1e
Dim kol ca byte 1f
kol = ActiveDocument.Paragraphs.Count 2

Set myRange = ActiveDocument.Range

(ActiveDocument.Paragrafe(1).Range.Start,

ActiveDocument.Paragraphs(kol).Range.End)

3
Pentru fiecare cuvânt din myRange.Words 4 (Începutul buclei exterioare)
cuvânt = aword.Text 5
L = Len(cuvânt) 6
Daca L<= 1 Then GoTo M1 7
M = Int(L / 2) Pregătirea pentru testarea palindromului
Pentru I = 1 la M 8 (Începutul buclei imbricate)
K = Mid$(slovo, I, 1) 8
D = Mid$(slovo, L - I + 1, 1) 8
Dacă K<>D Apoi Mergeți la M1 8
Apoi eu 8 (Sfârșitul buclei imbricate)
aword.Font.Size = 14 9
aword.Font.ColorIndex = wdDarkBlue 9
M1: Cuvântul următor 4 (Sfârșitul buclei exterioare)
End Sub Sfârșitul programului

Ca urmare a executării programului, cuvintele pasindrome vor fi evidențiate cu albastru.

Lecția #10: VBA în aplicația Power Point

În Power Point, puteți automatiza multe sarcini folosind VBA. Să ne uităm la utilizarea formularelor personalizate pentru a proiecta teste și diverse sarcini în PowerPoint. În plus, este posibil nu numai să introduceți informații, ci și să utilizați controale. Pentru a face acest lucru, trebuie să urmați două reguli simple:

1. Macro-urile trebuie alocate butoanelor din bara de instrumente.

2. Comenzile trebuie plasate în casete de dialog.

Lucrarea practică nr. 10–1 „Poți să numeri”

Creați o prezentare pentru a testa și evalua abilitățile de aritmetică mentală.

Procedura de operare:

1. Deschideți Power Point și creați un diapozitiv cu titlu; proiectează cinci butoane pe el:

2. Scrieți programe pentru apelarea formularelor de utilizator (prin meniul contextual „Text sursă”, evidențiind butoanele tematice).

Texte program butoane:

UserForm1.Show

UserForm4.Show

Private Sub CommandButton3_Click()

UserForm3.Show

Private Sub CommandButton4_Click()

UserForm2.Show

3. Setați butonul „Ieșire” pentru a încheia emisiunea.

4. Creați un formular personalizat UserForm1 „Adunarea și scăderea de la 1 la 10” în editorul Visual Basic.

La proiectarea unui formular Proprietatea subtitrare pentru etichete Eticheta face gol; formatează toate elementele.

Declararea variabilelor globale

Public a As Integer

Public b ca întreg

Public R ca întreg

Public v Ca întreg

Public n ca întreg

Public f ca întreg

Sub CommandButton privat 1_Click()

" a - variabilă pentru primul număr

" b - variabilă pentru al doilea număr

" R - variabilă pentru a obține rezultatul

" v, n - variabile pentru numărarea corectă

" și răspunsuri greșite

" f - variabilă operator de selecție

f = f + 1

Selectați cazul f

„Atribuirea de valori variabilelor

" a și b prin RND în intervalul (0;9)

b = Int(10 * Rnd())

a = Int(10 * Rnd())

„Noi formăm în inscripții – sau + și =

Label3.Caption = "-"

Label5.Caption = "="

Determinăm cel mai mare dintre numere, iar acesta este primul număr, cu atât mai mic este al doilea număr:

Dacă a > b Atunci

Label2.Caption = a

Label4.Caption = b

Label2.Caption = b

Label4.Caption = a

„Calculați rezultatul

R = Abs(a - b)

Comparăm rezultatul și răspunsul introdus, numărăm numărul

v = v + 1

Label12.Caption = „Adevărat”

n = n + 1

Label12.Caption = „Incorect”

Label12.Caption = ""

b = Int(10 * Rnd())

a = Int(10 * Rnd())

Label2.Caption = a

Label4.Caption = b

Label3.Caption = „+”

Label5.Caption = "="

R = a + b

Scrieți programe similare pentru următoarele 9 exemple.

„Verificarea rezultatului din exemplul 10

Dacă Val(R) = Val(TextBox1) Atunci

v = v + 1

Label12.Caption = „Adevărat”

n = n + 1

Label12.Caption = „Incorect”

„În inscripții introducem numărul de răspunsuri corecte și incorecte și dăm instrucțiuni de despărțire

Label7.Caption = „Rezultatul dvs.”

Label8.Caption = „Adevărat”

Label10.Caption = Str(v)

Label9.Caption = „Incorect”

Label11.Caption = Str(n)

Dacă v = 10 Atunci Label12.Caption =

" Bine făcut!!!" Else Label12.Caption =

„Mai multă muncă la scor!!!”

UserForm1.Hide

Încheierea selectării

Programul butonului „Din nou”.

Private Sub CommandButton2_Click()

Tastam din nou codul programului pentru buton (pentru a face acest lucru, faceți clic pe buton)

„Resetăm variabilele care contează

rezultat

„Ștergem informațiile din inscripții

Label10.Caption = ""

Label11.Caption = ""

Label12.Caption = ""

Label2.Caption = ""

Label4.Caption = ""

Label3.Caption = ""

Label5.Caption = ""

Label7.Caption = ""

Label8.Caption = ""

Label9.Caption = ""

SubCLS()

TextBox1.Text = ""

În stare de funcționare, formularul arată astfel:

5. Proiectați formulare de utilizator UserForm2, UserForm3, UserForm4.

6. Scrieți programe în butoane.

Formularul UserForm2 „Adunarea și scăderea de la 1 la 200” poate arăta astfel:

O vedere aproximativă a formularului „Tabel de înmulțire” UserForm3:

Dar aceasta ar putea fi forma UserForm4 „Count”:

7. Verificați funcționalitatea proiectului și salvați lucrarea.

Lucrare practică nr. 10–2 „Testul de inteligență vizuală”

Creați o prezentare pentru a testa și evalua inteligența vizuală.

Procedura de operare:

1. Deschideți Power Point și creați un diapozitiv cu titlu.

2. Creați un buton „Define your Visual Intelligence” folosind bara de instrumente și notează (prin meniul contextual „Source Text”) un program pentru apelarea formularului de utilizator UserForm1:

Sub CommandButton privat 1_Click()

UserForm1.Show

3. Creați un buton „Ieșire” prin panoul de desen și configurați-l pentru a încheia afișarea.

4. Proiectați un formular de utilizator în editorul Visual Basic cu următoarele controale:

Public i Ca întreg

Public x ca întreg

„Variabila x numără numărul de răspunsuri corecte

Sub CommandButton privat 1_Click()

i = i + 1

Selectați cazul i

Label1.Caption = "Care dintre forme nu corespunde rândului general?"

UserForm1.Image1.Picture =

LoadPicture("C:\test1.JPG")

Dacă OptionButton4.Value = Adevărat

Atunci x = x + 1

OptionButton1.Value = Fals

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

UserForm1.Image1.Picture =

LoadPicture("C:\test2.jpg")

Dacă OptionButton1.Value = True, atunci x = x + 1

OptionButton1.Value = Fals

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

UserForm1.Image1.Picture =

LoadPicture("C:\test3.jpg")

OptionButton1.Value = Fals

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

UserForm1.Image1.Picture =

LoadPicture("C:\test4.jpg")

Dacă OptionButton3.Value = True, atunci x = x + 1

OptionButton1.Value = Fals

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

UserForm1.Image1.Picture =

LoadPicture("C:\test5.jpg")

Dacă OptionButton4.Value = True, atunci x = x + 1

OptionButton1.Value = Fals

OptionButton2.Value = False

OptionButton3.Value = False

OptionButton4.Value = False

Label1.Caption = „Evaluarea dvs.” & x

UserForm1.Hide

Încheierea selectării

Programul butonului de ieșire

Private Sub CommandButton2_Click()

UserForm1.Hide

5. Selectați desenele de testare.

6. Imprimați rezultatul după ce ați trecut toate cele cinci întrebări.

Lucrarea practică nr. 10–3 „Tipul tău socionic”

Creați o prezentare cu care puteți determina tipul socionic.

Procedura de operare:

1. Proiectați un diapozitiv de titlu; furnizați butoane pentru apelarea formularelor personalizate pentru a determina tipul socionic: „extrovertit - introvertit”; „senzorial – intuitiv”; „logician - etician”; „irațional - rațional”; "Ieșire"; „aflați-vă sociotipul” (toate tipurile sunt definite).

2. Proiectați formulare personalizate pentru a determina sociotipul:

· dezvoltarea de programe pentru butoane pentru a trece la forme personalizate pentru descrierea sociotipurilor (referință);

· creați un „OptionButton” pentru a selecta o opțiune de răspuns;

· asigura trecerea la formulare care conțin material de referință;

· crearea unei forme pentru determinarea sociotipului;

· creați un formular (numit când apăsați butonul „Cine este extrovertit?”) care va conține material de referință;

· asigurați numărarea răspunsurilor atunci când faceți clic pe butonul „Următorul”; ultima apăsare ar trebui să producă rezultatul: „Ești o LOGICĂ”, etc.;

· asigurați după completarea tuturor întrebărilor și răspunsurilor să apelați formularul, din care, la rândul său, puteți intra în tabelul de relații de sociotipuri sau puteți ieși complet din chestionar.

Sarcini suplimentare

Selectați materialul pentru a crea un test chestionar. Ar putea fi:

· Test de subiect:

· Test de inteligenta:

· Test de temperament:

· Test SHTUR (test școlar de dezvoltare mentală):

· Test de profesie etc.

Sperăm că materialul prezentat v-a fost de folos. Vă dorim succes!

CAPITOLUL 10

Programare in Word

10.1. De ce programați în Word

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 de realizare a rapoartelor pe baze 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 în numerar, un anunț pentru o contribuție în numerar, o comandă către departamentul de contabilitate, o factură etc. Desigur, la rapoartele , care pot fi generate în Word, includ și documente cu date rezumative - rapoarte pentru perioada, 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 pentru baze de date în Microsoft Word, atunci cel mai probabil astfel de rapoarte nu vor fi cele mai rapide , în ceea ce privește formarea lor, și nu cea mai simplă, din punct de vedere al programării. 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 „I.O.”

Director". Dacă raportul a fost creat în Crystal Reports sau Microsoft Reporting Services, va trebui să contactați de urgență dezvoltatorul. Și după un timp, directorul interimar 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 - prin

Marea majoritate a utilizatorilor din întreprindere știu să lucreze în Word. Nu mai este nevoie să cauți urgent un dezvoltator.

Word are și alte beneficii. De obicei, la pregătirea rapoartelor

V Valorile cuvintelor din baza de date sunt înlocuite în șablonul de raport, care este stocat în baza de date sau într-un fișier (cu extensia punct). 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

V Word decât, de exemplu, Crystal Reports sau Reporting Services.

O altă aplicație software a Word este capacitatea de a lucra cu diferite formate de documente. Această caracteristică a Word poate fi utilizată pentru procesarea în bloc a documentelor.

Permiteți-mi să vă dau un exemplu 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 mod unificat.

format nou (Word 2003) și încărcați-le 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 mai multe documente simultan, lucrul cu structura unui document etc. De obicei, astfel de sarcini sunt stabilite în edituri, pt. de exemplu, la pregătirea manuscriselor.

10.2. Introducere în programarea în Word. Model obiect

Structura generală a obiectelor Word arată așa cum se arată în Fig. 10.1.

Dar nu vă fie teamă - nu veți avea niciodată nevoie de majoritatea acestor sute de obiecte. În practică, pentru a rezolva majoritatea problemelor software, este suficient să cunoașteți doar cinci obiecte (cu colecții însoțitoare):

obiect aplicație;

Obiect document (cu colecția Documents);

Obiect de selecție;

obiect de rază;

un obiect Bookmark (cu o colecție Bookmarks).

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 în ansamblu, 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.

Amintiți-vă: 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 curent, propoziția, paragraful, selecția sau întregul document. 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 finalizată, 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 selecțiilor” 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ă î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 comprima 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 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 a selecției textului 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 tot ceea ce există 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 inseraț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.