Cilj tega tečaja je pomagati ljudem, ki še nikoli niso napisali programa, preden se ga naučijo napisati. Ni razloga, da bi pisarniški delavci, domači proizvajalci, profesionalni inženirji in osebe za dostavo pice ne bi smeli biti sposobni izkoristiti svojih lastno ročno izdelanih računalniških programov po meri, da bi delovali hitreje in pametnejši. Za to ne bi smel potrebovati "profesionalnega programerja" (karkoli že je). Veste, kaj je treba narediti bolje kot kdorkoli drug. To lahko storite sami!
(In to trdim kot nekdo, ki je več let pisal programe za druge ljudi... "profesionalno".)
Če rečem, to ni način uporabe računalnika.
Ta tečaj predvideva, da znate uporabljati priljubljeno programsko opremo in zlasti, da imate v računalniku nameščen program Microsoft Word 2007. Morali bi poznati osnovne računalniške spretnosti, na primer, kako ustvariti mape datotek (to je imenike) in kako premikati in kopirati datoteke. Če pa ste se vedno spraševali, kaj pravzaprav predstavlja računalniški program, je to v redu. Pokazali vam bomo.
Microsoft Office ni poceni. Lahko pa dobite več vrednosti od tiste drage programske opreme, ki jo že imate nameščeno. To je velik razlog, ki ga uporabljamo Visual basic za Aplikacije ali VBA skupaj z Microsoft Officeom. Na milijone jih ima in peščica (morda nihče), ki uporablja vse, kar zmore.
Preden gremo dalje, pa moram razložiti še eno stvar o VBA. Februarja 2002 je Microsoft naredil 300 milijard dolarjev stave za popolnoma novo tehnološko bazo za svoje celotno podjetje. Imenovali so ga .NET. Od takrat Microsoft seli celotno tehnološko bazo v VB.NET. VBA je zadnje orodje za programiranje, ki še vedno uporablja VB6, preizkušeno in resnično tehnologijo, ki je bila uporabljena pred VB.NET. (Videli boste besedno zvezo "temelji na COM" za opis tehnologije na ravni VB6.)
VSTO in VBA
Microsoft je ustvaril način za pisanje programov VB.NET za Office 2007. Imenuje se Visual Studio Tools za Office (VSTO). Težava VSTO je, da morate kupiti in se naučiti uporabljati Visual Studio Professional. Tudi sam Excel še vedno temelji na COM-ju in programi .NET morajo z Excelom sodelovati prek vmesnika (imenovan PIA, Primary Interop Assembly).
Torej... Dokler Microsoft ne bo združeval in vam ne omogočil, da pišete programe, ki bodo delovali z Wordom in vas ne bodo prisilili v IT oddelek, so še vedno makroi VBA.
Drugi razlog, ki ga uporabljamo pri VBA, je, da je res "popolnoma pečen" (ne na pol pečen) razvoj programske opreme okolje, ki ga programerji že leta uporabljajo za ustvarjanje nekaterih najbolj izpopolnjenih sistemov, ki obstajajo. Ni pomembno, kako visoko so nastavljene vaše programske znamenitosti. Visual Basic ima moč, da vas sprejme tja.
Kaj je makro?
Morda ste že uporabljali namizne aplikacije, ki že prej podpirajo makro jezik. Makroi so tradicionalno samo skripti dejanj tipkovnice, ki so združeni z enim imenom, tako da jih lahko izvajate naenkrat. Če vedno začnete dan tako, da odprete dokument »MyDiary«, vpišete današnji datum in vtipkate besede »Dragi dnevnik« - Zakaj ne bi računalnika pustil, da to stori namesto vas? Da bi bil skladen z drugo programsko opremo, Microsoft imenuje VBA tudi makro jezik. Ampak ni. Veliko več je.
Številne namizne aplikacije vključujejo programsko orodje, s katerim boste lahko posneli makro s pritiskom na tipko. V Microsoftovih aplikacijah se to orodje imenuje Macro Recorder, vendar rezultat ni tradicionalni makro pritiska na tipko. Gre za program VBA in razlika je v tem, da preprosto ne predvaja pritiskov tipk. Program VBA vam daje, če je le mogoče, enak končni rezultat, v VBA pa lahko napišete tudi prefinjene sisteme, ki v prahu puščajo preproste makro tipkovnice. Na primer, v programu Word lahko uporabljate Excel funkcije v programu Word. In VBA lahko integrirate z drugimi sistemi, kot so baze podatkov, splet ali druge programske aplikacije.
Čeprav je VBA Macro Recorder zelo uporaben za preprosto ustvarjanje preprostih makrov tipkovnice, programerji so odkrili, da je še bolj koristno, da jim omogočite zagon v bolj izpopolnjenih programih. To bomo storili.
Začni Microsoft Word 2007 s praznim dokumentom in se pripravite napisati program.
Kartica Developer v Wordu
Ena prvih stvari, ki jo morate narediti, da napišete program Visual Basic v programu Word 2007, je poiščite Visual Basic! Privzeta nastavitev v programu Word 2007 je, da ne prikaže uporabljenega traku. Če želite dodati Razvijalec najprej kliknite na Pisarna gumb (logotip v zgornjem levem kotu) in nato kliknite Možnosti za besedo. Kliknite Pokaži kartico za razvijalce na traku in nato kliknite v redu.
Ko kliknete na Razvijalec na zavihku imate popolnoma nov nabor orodij, ki se uporabljajo za pisanje programov VBA. Uporabili bomo VBA Macro Recorder za ustvarjanje vašega prvega programa. (Če trak z vsemi vašimi orodji še vedno izginja, boste morda želeli z desno miškino tipko kliknite trak in se prepričajte Zmanjšajte trak se ne preveri.)
Kliknite Posnemite makro. Poimenujte svoj makro: O VB1 z vpisom tega imena v polje Ime makra besedilno polje. Izberite svoj trenutni dokument kot lokacijo za shranjevanje makra in kliknite V redu. Glej primer spodaj.
(Opomba: Če izberete Vsi dokumenti (Normal.dotm) s spustnega menija bo ta testni program VBA dejansko postal del samega Worda, ker bo nato na voljo za vsak dokument, ki ga ustvarite v Wordu. Če želite makro VBA uporabiti samo v določenem dokumentu ali če ga želite poslati komu drugemu, je bolje, da makro shranite kot del dokumenta. Normal.dotm je privzeta, zato ga morate spremeniti.)
Z vklopljenim Makro snemalnikom vtipkajte besedilo "Pozdravljeni svet." v svoj Wordov dokument. (Kazalec miške se bo spremenil v miniaturno sliko kartuše s trakom, da bi pokazal, da se snemajo tipke.)
(Opomba: Hello World je skoraj potreben za "prvi program", ker je prvi programski priročnik za zgodnje računalniški jezik "C" uporabljal. To je bila tradicija že od nekdaj.)
Kliknite Ustavi snemanje. Zaprite Word in dokument shranite z imenom: O VB1.docm. Izbrati morate a Wordov makronastavljen dokument Iz Shrani kot Vrsta padajoči.
To je to! Zdaj ste napisali program Word VBA. Poglejmo, kako izgleda!
Razumevanje, kaj je program VBA
Če ste Word zaprli, ga znova odprite in izberite O VB1.docm datoteko, ki ste jo shranili v prejšnji lekciji. Če je bilo vse opravljeno pravilno, bi morali na vrhu okna dokumenta videti pasico z varnostnim opozorilom.
VBA in varnost
VBA je resničen programski jezik. To pomeni, da lahko VBA stori skoraj vse, kar potrebujete. To pa pomeni, da če prejmete dokument Word z vgrajenim makroom od nekega 'slabega moža', lahko makro naredi tudi skoraj vse. Microsoftovo opozorilo je treba jemati resno. Po drugi strani, ti napisal ta makro in vse, kar počne, je tip "Hello World", tako da tukaj ni tveganja. Kliknite gumb, če želite omogočiti makre.
Če želite videti, kaj je ustvaril snemalnik makrov (kot tudi za večino drugih stvari, ki vključujejo VBA), morate zagnati urejevalnik Visual Basic. Na levi strani traku za razvijalce je ikona.
Najprej opazite levo okno. Temu se reče Raziskovalec projektov in združuje predmete na visoki ravni (več bomo govorili o njih), ki so del vašega projekta Visual Basic.
Ko ste zagnali Macro Recorder, ste imeli možnost izbire Običajno predlogo ali trenutni dokument kot lokacijo za vaš makro. Če ste izbrali Običajno, potem NewMacros modul bo del Običajno veja zaslona Project Explorer. (Bi morali izbrati trenutni dokument. Če ste izbrali Običajno, izbrišite dokument in ponovite prejšnja navodila.) Izberite NewMacros Spodaj Moduli v vašem trenutnem projektu. Če še vedno ni prikazano nobeno okno kode, kliknite Koda pod Pogled meni.
Dokument Word kot vsebnik VBA
Vsak program Visual Basic mora biti v nekakšni datoteki "vsebnik". V primeru makrov Word 2007 VBA je ta vsebnik (".docm") Wordov dokument. Programi Word VBA se ne morejo izvajati brez programa Word in ne morete ustvariti samostojnih ('.exe') programov Visual Basic, kot jih lahko z Visual Basic 6 ali Visual Basic .NET. A to še vedno pušča cel svet stvari, ki jih lahko počnete.
Vaš prvi program je zagotovo kratek in sladek, vendar bo služil predstavitvi glavnih značilnosti VBA in urejevalnika Visual Basic.
Programski vir običajno obsega niz podprogramov. Ko boste prešli na naprednejše programiranje, boste ugotovili, da so poleg podprogramov lahko del programa tudi druge stvari.
Ta posebna podprogram je poimenovana O VB1. Glava podprograma mora biti seznanjena z Končni pod na dnu. V oklepaju se lahko nahaja seznam parametrov, sestavljen iz vrednosti, ki se posredujejo podprogramu. Tu se ne prenese nič, vendar morajo biti tam Pod izjava vseeno. Kasneje, ko zaženemo makro, bomo iskali ime O VB1.
V podprogramu je samo ena dejanska izjava programa:
Izbor. TextText Text: = "Pozdravljeni svet!"
Predmeti, metode in lastnosti
Ta izjava vsebuje velike tri:
- predmet
- metoda
- posest
Izjavi dejansko doda besedilo "Pozdravljeni svet." na vsebino trenutnega dokumenta.
Naslednja naloga je nekajkrat zagnati naš program. Tako kot pri nakupu avtomobila je dobro, da ga vozite naokoli, dokler se ne počuti nekoliko udobno. To naredimo naprej.
Programi in dokumenti
Imamo sijajen in zapleten sistem... sestavljen iz ene programske izjave... zdaj pa ga želimo voditi. Tukaj je to.
Tu se je treba naučiti enega koncepta, ki je zelo pomemben in pogosto resnično zmede prve časovnike: razlika med program in dokument. Ta koncept je utemeljen.
Programi VBA morajo biti vsebovani v datoteki gostitelja. V Wordu je gostitelj dokument. V našem primeru je to O VB1.docm. Program je dejansko shranjen znotraj dokumenta.
Na primer, če bi bil to Excel, bi govorili o program in preglednica. V dostopu je program in baze podatkov. Tudi v samostojni aplikaciji Visual Basic Windows bi imeli a program in a oblika.
(Opomba: V programiranju je trend, da se vsi vsebniki na visoki ravni nanašajo kot "dokument". To je posebej v primeru, ko XML... nova tehnologija in nova tehnologija... se uporablja. Ne pustite, da vas zmede. Čeprav gre za majhno netočnost, si lahko "dokumenti" omislijo približno enako kot "datoteke".)
Obstajajo... ummmmm... približno tri glavne načine za zagon makra VBA.
- Lahko ga zaženete iz Wordovega dokumenta.
(Opomba: Dve podkategoriji naj bi izbrali Makroi v meniju Orodja ali samo pritisnite Alt-F8. Če ste makro dodeljeli bližnjici na orodni vrstici ali tipkovnici, je to še en način.)) - Zaženete ga lahko z urejevalnikom z ikono »Zaženi« ali »Zaženi«.
- V programu za odpravljanje napak lahko v programu stopite po korakih.
Poskusite vsako od teh metod samo zato, da postanete udobni z vmesnikom Word / VBA. Ko končate, boste imeli cel dokument, napolnjen s ponovitvami "Pozdravljeni svet!"
Zagon programa iz Worda je dokaj enostavno narediti. Po izbiri makra izberite polje Makro pod ikono Pogled zavihek.
Če ga želite zagnati iz urejevalnika, najprej odprite urejevalnik Visual Basic in nato kliknite ikono Zaženi ali v meniju izberite Zaženi. Tukaj bi lahko razlika med dokumentom in programom nekatere postala nejasna. Če imate dokument minimaliziran ali imate morda urejena okna tako, da ga ureja urejevalnik, lahko kliknete ikono Zaženi znova in znova in zdi se, da se nič ne zgodi. Program pa teče! Ponovno preklopite na dokument in glejte.
Enkratni korak skozi program je verjetno najbolj uporabna tehnika reševanja težav. To stori tudi urejevalnik Visual Basic. Če želite to preizkusiti, pritisnite F8 ali izberite Stopi vanjo Iz Odpravljanje napak meni. Prva izjava v programu, Pod izjava, je poudarjena. S pritiskom na F8 izvajate izjave programa enega za drugim, dokler se program ne konča. Točno vidite, kdaj je besedilo na ta način dodano v dokument.
Obstaja veliko bolj izpopolnjenih tehnik za odpravljanje napak, kot so 'Prelomne točke', pregledovanje programskih predmetov v 'Takojšnjem oknu' in uporaba 'Opazovalnika'. Zaenkrat se preprosto zavedajte, da je to primarna tehnika za odpravljanje napak, ki jo boste uporabili kot programer.
Objektno usmerjeno programiranje
Naslednja učna ura je približno Objektno usmerjeno programiranje.
"Whaaaattttt!" (Slišim, kako stenjate) "Samo želim pisati programe. Nisem se prijavil, da bi bil računalničar! "
Ne boj se! Dva razloga sta, zakaj je to odlična poteza.
Prvič, v današnjem programskem okolju preprosto ne morete biti učinkovit programer, ne da bi razumeli objektno usmerjene programske koncepte. Tudi naš zelo preprost program z eno vrstico "Hello World" je bil sestavljen iz predmeta, metode in lastnosti. Po mojem mnenju je nerazumevanje predmetov največji problem, ki ga imajo začetniki programerji. Torej se bomo spopadli z zverjo takoj spredaj!
Drugič, to bomo naredili čim bolj neboleče. Ne bomo vas zamenjevali s kopico računalniškega žargona.
Toda takoj za tem bomo z lekcijo skočili takoj nazaj v pisanje programske kode, kjer bomo razvili makro VBA, ki ga verjetno lahko uporabljate! Program še malo izpopolnimo v naslednji lekciji in zaključimo tako, da vam pokažemo, kako začeti uporabljati VBA z več aplikacijami hkrati.