Aflați VBA Macro Coding Word 2007

Scopul acestui curs este de a ajuta oamenii care nu au scris niciodată un program înainte să învețe să scrie unul. Nu există niciun motiv pentru care angajații, casnicii, inginerii profesioniști și persoanele care livrează pizza nu ar trebui să poată profita de propriile programe de calculator personalizate, lucrate manual pentru a lucra mai repede și mai inteligent. Nu ar trebui să ia un „programator profesionist” (oricare ar fi acesta) pentru a face treaba. Știi ce trebuie făcut mai bine decât oricine altcineva. Îl poți face singur!

(Și spun asta ca cineva care a petrecut mulți ani scriind programe pentru alți oameni... 'Profesional'.)

Acestea fiind spuse, acesta nu este un curs în modul de utilizare a unui computer.

Acest curs presupune că știți cum să folosiți software-ul popular și, în special, că aveți Microsoft Word 2007 instalat pe computer. Ar trebui să cunoașteți abilități de bază ale calculatorului, cum ar fi crearea de dosare de fișiere (adică directoare) și cum să mutați și să copiați fișierele. Dar dacă te-ai întrebat întotdeauna care a fost de fapt un program de calculator, este OK. Vă vom arăta.

instagram viewer

Microsoft Office nu este ieftin. Dar poți obține mai multă valoare din acel software scump pe care l-ai instalat deja. Acesta este un motiv important pentru care îl folosim Visual Basic pentru aplicații sau VBA, împreună cu Microsoft Office. Există milioane care îl au și o mână (poate nimeni) care folosește tot ce poate face.

Înainte de a merge mai departe, trebuie să vă mai explic un lucru despre VBA. În februarie 2002, Microsoft a făcut un pariu de 300 de miliarde de dolari pe o bază tehnologică complet nouă pentru întreaga lor companie. Au numit-o .NET. De atunci, Microsoft a mutat întreaga lor bază tehnologică în VB.NET. VBA este ultimul instrument de programare care încă folosește VB6, tehnologia încercată și adevărată care a fost folosită înainte de VB.NET. (Veți vedea expresia „bazată pe COM” pentru a descrie această tehnologie la nivel de VB6.)

VSTO și VBA

Microsoft a creat o modalitate de a scrie programe VB.NET pentru Office 2007. Se numește Visual Studio Tools for Office (VSTO). Problema cu VSTO este că trebuie să cumperi și să înveți să folosești Visual Studio Professional. Excel în sine este încă bazat pe COM și programele .NET trebuie să funcționeze cu Excel printr-o interfață (numită PIA, ansamblul primar de interop).

Asa de... până când Microsoft va acționa împreună și vă va oferi o modalitate de a scrie programe care vor funcționa cu Word și nu vă va face să vă înscrieți în departamentul IT, macrocomenzi VBA sunt încă calea de urmat.

Un alt motiv pentru care folosim VBA este că este într-adevăr un „complet coapte” (nu pe jumătate coapte) dezvoltare de software mediu folosit de ani de zile de programatori pentru a crea unele dintre cele mai sofisticate sisteme existente. Nu contează cât de mare sunt setate obiectivele de programare. Visual Basic are puterea de a vă duce acolo.

Ce este o macrocomandă?

Este posibil să fi folosit aplicații desktop care acceptă ceea ce se numește un limbaj macro înainte. Macro sunt, în mod tradițional, doar scripturi de acțiuni de tastatură grupate cu un singur nume, astfel încât să le puteți executa pe toate simultan. Dacă începeți întotdeauna ziua prin deschiderea documentului „MyDiary”, introducând data de astăzi și tastând cuvintele „Dear Jurnal” - De ce să nu lăsați computerul să facă asta pentru dvs.? Pentru a fi în concordanță cu alt software, Microsoft numește VBA și un limbaj macro. Dar nu este. Este mult mai mult.

Multe aplicații desktop includ un instrument software care vă va permite să înregistrați o macrocomenziă „keystroke”. În aplicațiile Microsoft, acest instrument se numește Macro Recorder, dar rezultatul nu este o macrocomenziă de apăsare a tastei tradiționale. Este un program VBA, iar diferența este că nu redă pur și simplu apăsările de taste. Un program VBA vă oferă același rezultat final, dacă este posibil, dar puteți scrie și sisteme sofisticate în VBA, care lasă macro praf de tastatură simplă. De exemplu, puteți utiliza funcții Excel în Word utilizând VBA. Și puteți integra VBA cu alte sisteme precum baze de date, web sau alte aplicații software.

Deși VBA Macro Recorder este foarte util pentru a crea pur și simplu macrocomenzi de tastatură, programatori au descoperit că este și mai util să le oferiți un început de rulare în programe mai sofisticate. Asta vom face.

start Microsoft Word 2007 cu un document gol și pregătește-te să scrii un program.

Fila Dezvoltator din Word

Unul dintre primele lucruri pe care trebuie să le faci pentru a scrie programul Visual Basic în Word 2007 este găsiți Visual Basic! Valoarea implicită în Word 2007 este să nu afișați panglica folosită. Pentru a adăuga Dezvoltator, faceți clic mai întâi pe Birou buton (logo-ul din colțul din stânga sus) și apoi faceți clic pe Opțiuni de cuvinte. Clic Afișați fila Dezvoltator din Panglică apoi faceți clic pe O.K.

Când faceți clic pe butonul Dezvoltator fila, aveți un set complet nou de instrumente utilizate pentru a scrie programe VBA. Vom folosi VBA Macro Recorder pentru a crea primul dvs. program. (Dacă panglica cu toate uneltele dvs. continuă să dispară, este posibil să doriți să faceți clic dreapta pe panglică și să vă asigurați Minimizați panglica nu este verificat.)

Clic Record Macro. Denumiți macrocomanda dvs. AboutVB1 tastând acest nume în Nume Macro casetă de text. Selectați documentul curent ca locație pentru stocarea macro-ului dvs. și faceți clic pe OK. Vezi exemplul de mai jos.

(Notă: Dacă alegeți Toate documentele (Normal.dotm) din meniul derulant, acest program VBA de test va deveni, de fapt, o parte din Word însuși, deoarece va deveni disponibil pentru fiecare document creat de Word. Dacă doriți să utilizați doar o macro VBA într-un document specific sau dacă doriți să o puteți trimite altcuiva, este mai bine să salvați macrocomanda ca parte a documentului. Normal.dotm este valoarea implicită, deci trebuie să o schimbați.)

Când înregistrarea Macro este activată, tastați textul „Hello World”. în documentul dvs. Word. (Indicatorul mouse-ului se va schimba într-o imagine în miniatură a unui cartuș cu bandă pentru a arăta că sunt înregistrate apăsări de taste.)

(Notă: Hello World este aproape necesară pentru un „Prim program”, deoarece primul manual de programare pentru început limbajul computerului "C" folosit. De atunci este o tradiție.)

Clic Opriți înregistrarea. Închideți Word și salvați documentul folosind numele: AboutVB1.docm. Trebuie să selectați a Document Macro-Activat Word de la Salvați ca tip scapă jos.

Asta e! Ați scris acum un program Word VBA. Hai să vedem cum arată!

Înțelegerea ce înseamnă un program VBA

Dacă ați închis Word, deschideți-l din nou și selectați AboutVB1.docm fișier pe care l-ați salvat în lecția precedentă. Dacă totul a fost făcut corect, ar trebui să vedeți un banner în partea de sus a ferestrei documentului cu un avertisment de securitate.

VBA și securitate

VBA este un real limbaj de programare. Asta înseamnă că VBA poate face aproape orice ai nevoie pentru a face. Și, la rândul său, înseamnă că, dacă primiți un document Word cu o macro încorporată de la un „tip rău”, acea macro poate face aproape orice. Deci, avertismentul Microsoft trebuie luat în serios. Pe de altă parte, tu a scris această macro și tot ce face este de tip „Hello World”, deci nu există niciun risc aici. Faceți clic pe butonul pentru a activa macro-urile.

Pentru a vedea ce a creat Macro Recorder (precum și pentru a face cele mai multe alte lucruri care implică VBA), trebuie să porniți editorul Visual Basic. Există o pictogramă pentru a face asta în partea stângă a panglicii pentru dezvoltatori.

În primul rând, observați fereastra din stânga. Aceasta se numește Explorator de proiecte și grupează împreună obiectele la nivel înalt (vom vorbi mai multe despre ele) care fac parte din proiectul dvs. Visual Basic.

Când a fost pornit Macro Recorder-ul, aveți de ales Normal șablonul sau documentul curent ca locație pentru macro-ul dvs. Dacă ați selectat Normal, atunci NewMacros modulul va face parte din Normal ramură a afișajului Explorator de proiecte. (Trebuia să selectați documentul curent. Dacă ați selectat Normal, ștergeți documentul și repetați instrucțiunile anterioare.) Selectați NewMacros sub module în proiectul dvs. curent. Dacă încă nu este afișată nicio fereastră de cod, faceți clic pe Cod sub Vedere meniul.

Documentul Word ca un container VBA

Fiecare program Visual Basic trebuie să fie într-un fel de „container” de fișier. În cazul macro-urilor Word 2007 VBA, acel container este un document Word („.docm”). Programele Word VBA nu se pot executa fără Word și nu puteți crea programe de bază Visual Basic („.exe”), cum puteți cu Visual Basic 6 sau Visual Basic .NET. Dar asta încă lasă o lume întreagă de lucruri pe care le poți face.

Primul dvs. program este cu siguranță scurt și dulce, dar va servi la introducerea caracteristicilor majore ale VBA și ale editorului vizual de bază.

Sursa programului va consta, în mod normal, dintr-o serie de subrutine. Când veți absolvi o programare mai avansată, veți descoperi că alte lucruri pot face parte din program în afară de subrutine.

Această subrutină particulară este denumită AboutVB1. Antetul subrutinei trebuie să fie asociat cu un Sub final în partea de jos. Paranteza poate reține o listă de parametri constând din valorile trecute la subrutină. Nimic nu este trecut aici, dar trebuie să fie acolo Sub declarație oricum. Mai târziu, când vom rula macro-ul, vom căuta numele AboutVB1.

În subrutină există o singură declarație de program reală:

Selecţie. TypeText Text: = "Hello World!"

Obiecte, metode și proprietăți

Această afirmație conține trei mari:

  • un obiect
  • o metodă
  • o proprietate

Declarația adaugă de fapt textul „Hello World”. la conținutul documentului curent.

Următoarea sarcină este să rulăm programul nostru de câteva ori. La fel ca să cumperi o mașină, este o idee bună să o conduci o vreme până când se simte puțin confortabil. Facem asta în continuare.

Programe și documente

Avem sistemul nostru glorios și complicat... constând dintr-o declarație de program... dar acum vrem să-l rulăm. Iată despre ce este vorba.

Există un concept care trebuie învățat aici, care este foarte important și adesea confundă într-adevăr primele cronometre: diferența dintre program si document. Acest concept este tematic.

Programele VBA trebuie să fie conținute într-un fișier gazdă. În Word, gazda este documentul. În exemplul nostru, acesta este AboutVB1.docm. Programul este de fapt salvat în document.

De exemplu, dacă acesta ar fi Excel, am vorbi despre program si foaie de calcul. În Access, program si Bază de date. Chiar și în aplicația Windows Basic de sine stătătoare, am avea un program și a formă.

(Notă: Există o tendință în programare de referire la toate containerele la nivel înalt ca "document". Acesta este în special cazul când XML... o altă tehnologie în vigoare... este utilizat. Nu-l lăsa să te confunde. Deși este o ușoară inexactitate, puteți crede că „documentele” sunt aproximativ aceleași cu „fișierele”.)

Sunt... ummmmm... aproximativ trei moduri principale de a rula macro-ul VBA.

  1. Îl puteți rula din documentul Word.
    (Notă: Două subcategorii sunt pentru a selecta Macros din meniul Instrumente sau doar pentru a apăsa Alt-F8. Dacă ați alocat macrocomanda unei bare de instrumente sau a unei comenzi rapide de la tastatură, aceasta este încă o modalitate.))
  2. Puteți rula de la Editor folosind pictograma Run sau meniul Run.
  3. Puteți face un pas prin program în modul de depanare.

Ar trebui să încercați fiecare dintre aceste metode doar pentru a deveni confortabil cu interfața Word / VBA. După ce veți termina, veți avea un document întreg completat cu repetări de „Hello World!”

Rularea programului de la Word este destul de ușor de făcut. Selectați macrocomanda după ce faceți clic pe butonul Macro pictograma sub Vedere tab.

Pentru a-l executa din editor, deschideți mai întâi editorul Visual Basic, apoi faceți clic pe pictograma Run sau selectați Run din meniu. Iată unde diferența dintre document și program poate deveni confuză pentru unii. Dacă aveți documentul minimizat sau poate aveți ferestrele aranjate, astfel încât editorul să îl acopere, puteți face clic pe pictograma Executați din nou și nu pare să se întâmple nimic. Dar programul rulează! Comutați din nou la document și vedeți.

Un singur pas prin program este probabil cea mai utilă tehnică de rezolvare a problemelor. Acest lucru se realizează și din editorul Visual Basic. Pentru a încerca acest lucru, apăsați F8 sau selectați Pășește înăuntru de la debug meniul. Prima declarație din program, Sub este evidențiată. Apăsarea F8 execută instrucțiunile programului câteodată până la încheierea programului. Puteți vedea exact când textul este adăugat în document în acest fel.

Există o mulțime de tehnici de rafinare mai rafinate, cum ar fi „Punctele de întrerupere”, examinarea obiectelor din program în „Fereastra imediată” și utilizarea „Ferestrei de veghe”. Însă, deocamdată, trebuie să fiți conștienți că aceasta este o tehnică principală de depanare pe care o veți folosi ca programator.

Programare orientată pe obiecte

Următoarea lecție de clasă este tot Programare orientată pe obiecte.

"Whaaaattttt!" (Te aud gemând) „Vreau doar să scriu programe. Nu m-am înscris să fiu informatician! "

Nu te teme! Există două motive pentru care aceasta este o mișcare grozavă.

În primul rând, în mediul de programare de azi, pur și simplu nu poți fi un programator eficient fără a înțelege conceptele de programare orientate pe obiecte. Chiar și foarte simplu programul nostru „Hello World” de o singură linie a constat dintr-un obiect, o metodă și o proprietate. În opinia mea, neînțelegerea obiectelor este cea mai mare problemă pe care o au programatorii începători. Așa că ne vom confrunta cu bestia chiar în față!

În al doilea rând, vom face acest lucru cât se poate de nedureros. Nu vom confunda cu o încărcătură de jargon informatic.

Dar imediat după aceea, vom sări direct în scrierea codului de programare cu o lecție în care dezvoltăm un macro VBA pe care probabil îl puteți folosi! Perfectionam programul putin mai mult in lectia urmatoare si terminam aratandu-ti cum sa incepi sa folosesti VBA cu mai multe aplicatii simultan.