Õppige VBA makrokodeerimise Word 2007-d

click fraud protection

Kursuse eesmärk on aidata inimestel, kes pole kunagi varem programmi kirjutanud, õppida seda kirjutama. Pole põhjust, miks kontoritöötajad, koduabilised, kutselised insenerid ja pitsa kohaletoimetajad ei peaks saama kasutada oma käsitsi meisterdatud kohandatud arvutiprogramme, et töötada kiiremini ja targem. Selle töö tegemiseks ei tohiks kuluda “kutselist programmeerijat” (mis iganes see ka pole). Teate, mida tuleb paremini teha kui kedagi teist. Saate seda ise teha!

(Ja ma ütlen seda kui keegi, kes on veetnud palju aastaid teistele inimestele programme kirjutades... "ametialaselt".)

Sellegipoolest pole see arvuti kasutamise kursus.

See kursus eeldab, et teate populaarse tarkvara kasutamist ja eriti, et teie arvutisse on installitud Microsoft Word 2007. Peaksite teadma põhilisi arvutioskusi, näiteks failikaustade (st kataloogide) loomine ning failide teisaldamine ja kopeerimine. Aga kui olete alati mõelnud, milline arvutiprogramm tegelikult oli, on see OK. Me näitame teile.

Microsoft Office pole odav. Kuid juba installitud kalli tarkvara abil saate rohkem väärtust. See on suur põhjus, mida me kasutame

instagram viewer
Visual Basic rakendustele või VBA koos Microsoft Office'iga. Seal on miljoneid, kellel see on, ja käputäis (võib-olla mitte kedagi), kes kasutab kõike, mida see võimalik on.

Enne kui läheme kaugemale, pean ma veel üht asja selgitama VBA kohta. 2002. aasta veebruaris tegi Microsoft kogu ettevõtte jaoks 300 miljardi dollari suuruse panuse täiesti uuele tehnoloogiabaasile. Nad kutsusid seda .NET. Sellest ajast alates on Microsoft viinud kogu nende tehnoloogiabaasi VB.NET-i. VBA on viimane programmeerimisriist, mis kasutab endiselt VB6, proovitud ja tõelist tehnoloogiat, mida kasutati enne VB.NET. (Selle VB6-taseme tehnoloogia kirjeldamiseks näete fraasi "COM-põhine".)

VSTO ja VBA

Microsoft on loonud viisi Office 2007 jaoks VB.NET-programmide kirjutamiseks. Selle nimi on Visual Studio Tools for Office (VSTO). VSTO probleem on see, et peate Visual Studio Professionali ostma ja õppima seda kasutama. Ka Excel on endiselt COM-põhine ja .NET-programmid peavad töötama Exceliga liidese kaudu (nn PIA, Primary Interop Assembly).

Nii... kuni Microsoft saab nende aktsiooni kokku ja annab teile võimaluse kirjutada programme, mis töötavad Wordi abil ja mis ei pane teid IT-osakonda liituma, on VBA makrod endiselt tee.

Teine põhjus, miks me VBA-d kasutame, on see, et see on tõesti täielikult küpsetatud (mitte poolküpsetatud) tarkvara arendamine keskkond, mida programmeerijad on aastaid kasutanud olemasolevate kõige keerukamate süsteemide loomiseks. Pole tähtis, kui kõrgeks on teie programmeerimissihikud seatud. Visual Basicul on võim teid sinna viia.

Mis on makro?

Võimalik, et olete varem kasutanud töölauarakendusi, mis toetavad nn makrokeelt. Makrod on tavaliselt lihtsalt ühe nimega rühmitatud klaviatuuritoimingute skriptid, et saaksite neid kõiki korraga teostada. Kui alustate päeva alati avades dokumendi "MyDiary", sisestades tänase kuupäeva ja kirjutades sõnad "Kallis päevik" - miks mitte lasta oma arvutil seda teie heaks teha? Teise tarkvaraga ühildamiseks nimetab Microsoft VBA-d ka makrokeeleks. Kuid see pole nii. See on palju muud.

Paljud töölauarakendused sisaldavad tarkvara tööriista, mis võimaldab teil salvestada "klahvivajutuse" makro. Microsofti rakendustes nimetatakse seda tööriista makro salvestajaks, kuid tulemus pole traditsiooniline klahvivajutuse makro. See on VBA programm ja erinevus seisneb selles, et see ei korda lihtsalt klahvivajutusi. VBA-programm annab teile võimaluse korral sama lõpptulemuse, kuid võite ka VBA-s kirjutada keerukaid süsteeme, mis jätavad lihtsad klaviatuurimakrod tolmu. Näiteks saate VBA abil Wordis kasutada Exceli funktsioone. Ja saate integreerida VBA teiste süsteemidega, näiteks andmebaaside, veebi või muude tarkvararakendustega.

Ehkki VBA makro salvesti on väga kasulik lihtsalt klaviatuurimakrode loomiseks, programmeerijad on avastanud, et veelgi kasulikum on neile käivitada keerukamates programmides. Seda me kavatsemegi teha.

Alusta Microsoft Word 2007 koos tühja dokumendiga ja valmistuge programmi kirjutama.

Vahekaart Arendaja Wordis

Üks esimesi asju, mida peate programmis Visual Basic programmi Word 2007 kirjutamiseks tegema, on leidke Visual Basic! Word 2007 vaikeseade on kasutatava lindi mitte kuvamine. Lisamiseks Arendaja klõpsake kõigepealt vahekaarti Kontor nuppu (vasakus ülanurgas olev logo) ja siis nuppu Sõnavalikud. Klõpsake nuppu Kuva ribas vahekaart Arendaja ja siis klõpsake nuppu Okei.

Kui klõpsate nuppu Arendaja vahekaardil on teil täiesti uus tööriistakomplekt, mida kasutatakse VBA programmide kirjutamiseks. Kasutame oma esimese programmi loomisel VBA makrosalvestit. (Kui lint koos kõigi tööriistadega kaob pidevalt, võiksite klõpsata lindil paremklõpsake ja veenduge selles Minimeeri lint pole märgitud.)

Klõpsake nuppu Salvesta makro. Pange oma makrole nimi: UmbesVB1 kirjutades selle nime väljale Makro nimi tekstikast. Valige makro salvestamiseks oma praegune dokument ja klõpsake nuppu OK. Vaadake allolevat näidet.

(Märkus. Kui valite Kõik dokumendid (Normal.dotm) rippmenüüst saab see test VBA programm tegelikult Wordi osaks, kuna see on siis saadaval kõigi Wordi kaudu loodud dokumentide jaoks. Kui soovite kasutada VBA makrot ainult konkreetses dokumendis või kui soovite seda saata kellelegi teisele, on parem mõte makro dokumendi osana salvestada. Tavaline.dotm on vaikimisi, nii et peate selle muutma.)

Kui makro salvesti on sisse lülitatud, tippige tekst "Tere maailm". oma Wordi dokumenti. (Hiirekursor muutub lindikasseti minipildiks, et näidata klahvivajutuste salvestamist.)

(Märkus. "Hello World" on "Esimese programmi" jaoks peaaegu vajalik, kuna esimene programmeerimisjuhend on mõeldud juba varakult arvutikeel "C" kasutasin seda. Sellest ajast alates on see olnud traditsioon.)

Klõpsake nuppu Lõpeta salvestamine. Sulgege Word ja salvestage dokument nimega: AboutVB1.docm. Peate valima a Wordi makro-aktiveeritud dokument alates Salvesta tüübina rippmenüüst.

Ongi! Olete nüüd kirjutanud Word VBA programmi. Vaatame, kuidas see välja näeb!

Mõistmine, mis on VBA programm

Kui olete Wordi sulgenud, avage see uuesti ja valige AboutVB1.docm faili, mille salvestasite eelmises õppetükis. Kui kõik tehti õigesti, peaksite dokumendiakna ülaservas nägema turvarežiimiga riba.

VBA ja turvalisus

VBA on tõeline programmeerimiskeel. See tähendab, et VBA saab teha peaaegu kõike, mida vajate. Ja see tähendab omakorda, et kui saate manustatud makroga Wordi dokumendi mõnelt „halvalt tüübilt”, saab see makro teha ka peaaegu kõike. Nii et Microsofti hoiatust tuleb võtta tõsiselt. Teiselt poolt, sina kirjutas selle makro ja kõik, mis ta teeb, on tüüp "Tere maailm", nii et siin pole ohtu. Makrode lubamiseks klõpsake nuppu.

Makro salvestaja loodud funktsioonide nägemiseks (nagu ka enamiku muude VBA-ga seotud toimingute tegemiseks) peate käivitama Visual Basic Editori. Arendaja lindi vasakus servas on selle jaoks ikoon.

Esiteks pange tähele vasakpoolset akent. Seda nimetatakse Projekti Explorer ja see rühmitab kõrgetasemelised objektid (räägime neist lähemalt), mis on osa teie Visual Basicu projektist.

Kui makrosalvesti käivitati, oli teil valida üks järgmistest Tavaline mall või praegune dokument teie makro asukohana. Kui valisite Tavaline, siis NewMacros moodul on osa moodulist Tavaline Project Exploreri kuva haru. (Te pidite valima praeguse dokumendi. Kui valisite Tavaline, kustutage dokument ja korrake eelnevaid juhiseid.) Valige NewMacros all Moodulid teie praeguses projektis. Kui koodiakent endiselt ei kuvata, klõpsake nuppu Kood all Vaade menüü.

Wordi dokument VBA konteinerina

Iga Visual Basicu programm peab olema mingisuguses failis 'konteineris'. Word 2007 VBA makrode puhul on see konteiner ('.docm') Wordi dokument. Wordi VBA-programmid ei saa ilma Wordita töötada ja te ei saa luua eraldiseisvaid (.exe) Visual Basic-i programme, nagu saate Visual Basic 6 või Visual Basic .NET-ga. Kuid see jätab ikkagi terve maailma asju, mida saate teha.

Teie esimene programm on kindlasti lühike ja armas, kuid see tutvustab VBA ja Visual Basic Editori peamisi funktsioone.

Programmi allikas koosneb tavaliselt mitmest alamprogrammist. Täpsema programmeerimise lõpetades saate teada, et lisaks alamprogrammidele võivad programmi kuuluda ka muud asjad.

Selle konkreetse alamprogrammi nimi on UmbesVB1. Alamrutiini päis tuleb siduda Lõpu alam põhjas. Sulgudes võib olla parameetrite loend, mis koosneb väärtustest, mis edastatakse alamprogrammile. Midagi siin ei anta, kuid nad peavad seal olema Alam avaldus ikkagi. Hiljem, kui makro töötab, otsime nime UmbesVB1.

Alamrutiinis on ainult üks tegelik programmi avaldus:

Valik. TypeText Text: = "Tere maailm!"

Objektid, meetodid ja omadused

Selles avalduses on kolm peamist:

  • objekt
  • meetod
  • vara

See avaldus lisab tegelikult teksti "Tere maailm". praeguse dokumendi sisule.

Järgmine ülesanne on paar korda meie programmi käivitada. Nii nagu auto ostmine, on hea mõte sellega natuke aega ringi sõita, kuni see tundub natuke mugav. Teeme seda järgmisena.

Programmid ja dokumendid

Meil on oma kuulsusrikas ja keeruline süsteem... koosneb ühest programmi väljavõttest... aga nüüd tahame seda käivitada. Siit saate teada.

Siin tuleb õppida üks väga oluline kontseptsioon, mis sageli ajab esimesed taimerid segadusse: erinevus programmide vahel programmi ja dokument. See kontseptsioon on põhialus.

VBA programmid peavad sisaldama hostfaili. Wordis on hostiks dokument. Meie näites see on AboutVB1.docm. Programm salvestatakse tegelikult dokumendis.

Näiteks kui see oleks Excel, räägiksime sellest programmi ja arvutustabel. Juurdepääsuga programmi ja andmebaas. Isegi iseseisvas Visual Basic Windowsi rakenduses oleks meil a programmi ja a vorm.

(Märkus. Programmeerimises on suundumus nimetada kõiki kõrgetasemelisi konteinereid dokumendiks. See kehtib eriti juhul, kui XML... veel üks uus tehnoloogia kasutatakse. Ärge laske sellel end segadusse ajada. Ehkki tegemist on väikese ebatäpsusega, võite mõelda dokumentidele, mis on enam-vähem samad, mis failidele.)

Seal on... ummmmm... umbes kolm peamist VBA makro käitamise viisi.

  1. Saate seda käivitada Wordi dokumendist.
    (Märkus. Kaks alamkategooriat on selleks, et valida menüüst Tööriistad makrod või vajutage lihtsalt Alt-F8. Kui olete makro määranud tööriistaribale või klaviatuuri otseteele, on see veel üks viis.))
  2. Saate seda redigeerijas käivitada, kasutades menüüd Käivita või Käivita.
  3. Saate silumisrežiimis programmi kaudu ühe sammu teha.

Peaksite proovima kõiki neid meetodeid lihtsalt selleks, et Wordi / VBA-liidesega mugavaks saada. Kui olete lõpetanud, on teil terve dokument, mis on korratud "Tere maailm!"

Programmi käivitamine Wordist on üsna lihtne. Lihtsalt valige makro pärast klõpsamist Makro ikooni all Vaade sakk.

Selle käivitamiseks redaktorist avage kõigepealt Visual Basici redigeerija ja klõpsake siis kas ikooni Käivita või valige menüüst Käivita. Siin võib juhtuda, et erinevus dokumendi ja programmi vahel võib mõne jaoks segaseks jääda. Kui olete dokumendi viinud miinimumini või olete aknad korraldanud nii, et redigeerija katab selle, võite klõpsata ikka ja jälle ikooni Käivita ja näib, et midagi ei juhtu. Kuid programm töötab! Lülitage uuesti dokumendi juurde ja vaadake.

Programmi üks samm on tõenäoliselt kõige kasulikum probleemide lahendamise tehnika. Seda tehakse ka Visual Basicu redigeerija kaudu. Selle proovimiseks vajutage nuppu F8 või valige Sisse astuma alates Silumine menüü. Programmi esimene avaldus Alam avaldus, on esile tõstetud. F8 vajutamisel käivitatakse programmi avaldused ükshaaval, kuni programm lõpeb. Näete täpselt, millal tekst selliselt dokumendile lisatakse.

Seal on palju täpsemaid silumistehnikaid, näiteks „Murdepunktid”, programmiobjektide uurimine „Koheses aknas” ja „Vaateaken” kasutamine. Kuid nüüd peate lihtsalt teadma, et see on peamine silumisviis, mida kasutate programmeerijana.

Objektorienteeritud programmeerimine

Järgmine klassitund on kõik Objektorienteeritud programmeerimine.

"Whaaaattttt!" (Ma kuulen sind oigamas) "Ma tahan lihtsalt programme kirjutada. Ma ei registreerunud arvutiteadlaseks! "

Ära karda! Sellel liigutusel on kaks põhjust.

Esiteks ei saa te tänapäeva programmeerimiskeskkonnas lihtsalt olla tõhus programmeerija, ilma et oleksite mõistnud objektorienteeritud programmeerimise kontseptsioone. Isegi meie väga lihtne üherealine programm "Tere maailm" koosnes objektist, meetodist ja omadusest. Minu arvates on objektide mitte mõistmine suurim probleem, mis programmeerijatel on. Niisiis asume metsalisele otse vastu!

Teiseks muudame selle võimalikult valutuks. Me ei aja teid segadusse arvutiteaduse kõnepruugiga.

Kuid kohe pärast seda hakkame kohe tagasi programmeerimiskoodi kirjutamise juurde õppetunniga, kus töötame välja VBA makro, mida saate tõenäoliselt kasutada! Täiendame seda programmi järgmises õppetükis pisut rohkem ja lõpetame sellega, et näitan teile, kuidas alustada VBA kasutamist mitme rakendusega korraga.

instagram story viewer