Cilj ovog tečaja je pomoći ljudima koji nikada nisu napisali program prije nego što nauče napisati jedan. Nema razloga zašto uredski radnici, domaći proizvođači, profesionalni inženjeri i osobe koje isporučuju pizze ne bi trebali biti u mogućnosti iskoristiti vlastite ručno izrađene prilagođene računalne programe za brži rad i pametniji. Ne bi trebao raditi "profesionalni programer" (što god to bilo) da obavi posao. Znate što treba učiniti bolje od bilo koga drugog. To možete i sami!
(I to kažem kao neko ko je proveo mnogo godina pišući programe za druge ljude... 'profesionalno'.)
Uz spomenuto, ovo nije smjer korištenja računala.
Ovaj tečaj pretpostavlja da znate kako koristiti popularni softver, a posebno Microsoft Office 2007 instaliran na vašem računalu. Trebali biste poznavati osnovne računalne vještine poput stvaranja mapa datoteka (to jest direktorija) i kako premjestiti i kopirati datoteke. Ali ako ste se uvijek pitali što je zapravo računalni program, to je u redu. Pokazat ćemo vam.
Microsoft Office nije jeftin. Ali možete dobiti više vrijednosti od skupog softvera koji ste već instalirali. To je veliki razlog koji koristimo Visual Basic za Aplikacije ili VBA zajedno s Microsoft Officeom. Postoje milijuni koji ga imaju i šačica (možda nitko) koja koristi sve što može.
Prije nego što nastavimo dalje, moram objasniti još jednu stvar o VBA. U veljači 2002. Microsoft je napravio ulog od 300 milijardi dolara na potpuno novu tehnološku bazu za cijelu svoju tvrtku. Nazvali su ga .NET. Od tada Microsoft svoju cjelokupnu tehnološku bazu seli u VB.NET. VBA je posljednji programski alat koji i dalje koristi VB6, isprobanu i istinsku tehnologiju koja se koristila prije VB.NET-a. (Vidjet ćete izraz "temeljen na COM" kako biste opisali ovu tehnologiju na razini VB6.)
VSTO i VBA
Microsoft je stvorio način pisanja programa VB.NET za Office 2007. Zove se Visual Studio Tools za Office (VSTO). Problem sa VSTO je što morate kupiti i naučiti koristiti Visual Studio Professional. I sam Excel se i dalje temelji na COM-u i .NET programi moraju raditi s Excel-om preko sučelja (naziva se PIA, Primary Interop Assembly).
Tako... dok Microsoft ne sastavi svoj čin i ne pruži vam način pisanja programa koji će raditi s Wordom i ne natjeraju vas da se pridružite IT odjelu, makronaredbe VBA i dalje su to koraci.
Drugi razlog koji koristimo VBA je taj što je uistinu 'potpuno pečen' (nije napola pečen) razvoj softvera okruženje koje programeri godinama koriste kako bi stvorili neke od najsofisticiranijih postojećih sustava. Nije važno koliko su postavljene vaše programske nišanke. Visual Basic ima moć vas odvesti tamo.
Što je makronaredba?
Možda ste koristili radne površine koje podržavaju ono što se ranije naziva makro jezikom. Makroi su tradicionalno samo skripte akcija tipkovnica grupiranih zajedno s jednim imenom, tako da ih možete izvršiti odjednom. Ako uvijek započnete dan otvaranjem dokumenta "MyDiary", unosom današnjeg datuma i upisivanjem riječi "Dragi dnevnik" - Zašto ne dopustite da vaše računalo to učini za vas? Kako bi bio u skladu s ostalim softverom, Microsoft naziva VBA i makro jezik. Ali nije. To je puno više.
Mnoge radne površine uključuju softverski alat koji će vam omogućiti snimanje makronaredbe "pritiskom na tipku". U Microsoftovim aplikacijama ovaj se alat naziva Makro snimač, ali rezultat nije tradicionalni makronaredak pritiska na tipke. To je VBA program i razlika je u tome što se on jednostavno ne ponavlja pritiscima tipki. VBA program daje vam isti krajnji rezultat ako je moguće, ali u VBA možete pisati i sofisticirane sustave koji ostavljaju jednostavne makronaredbe na tipkovnici u prašini. Na primjer, pomoću programa VBA možete upotrebljavati Excel funkcije u programu Word. I možete integrirati VBA s drugim sustavima poput baza podataka, interneta ili drugih softverskih aplikacija.
Iako je VBA makro snimač vrlo koristan za jednostavno stvaranje jednostavnih makronaredbi na tipkovnici, programeri otkrili su da je još korisnije dati im pokretanje u sofisticiranijim programima. To ćemo učiniti.
Početak Microsoft Word 2007 s praznim dokumentom i spremite se napisati program.
Kartica za razvojne programere u programu Word
Jedna od prvih stvari koju morate učiniti da biste napisali program Visual Basic u programu Word 2007 jest pronaći Visual Basic! Zadana zadaća u programu Word 2007 nije prikazivanje vrpce koja se koristi. Za dodavanje razvijač prvo kliknite karticu Ured gumb (logotip u gornjem lijevom kutu), a zatim kliknite Opcije riječi. Klik Prikaži karticu za programere na vrpci a zatim kliknite u redu.
Kada kliknete na razvijač imate čitav novi set alata koji se koriste za pisanje VBA programa. Pomoću VBA Makro snimača napravit ćemo vaš prvi program. (Ako vrpca sa svim vašim alatima i dalje nestaje, možda biste željeli desnim klikom vrpce provjeriti Smanjite vrpcu se ne provjerava.)
Klik Snimite makronaredbe. Dodijelite naziv makronaredbi: AboutVB1 upisivanjem tog imena u polje Naziv makronaredbe školski. Odaberite trenutni dokument kao lokaciju za pohranu makronaredbe i kliknite U redu. Pogledajte primjer u nastavku.
(Napomena: Ako odaberete Svi dokumenti (Normal.dotm) s padajućeg izbornika ovaj testni VBA program postat će dio samog Word-a jer će tada postati dostupan svakom dokumentu koji stvorite u Wordu. Ako želite upotrebljavati makro VBA samo u određenom dokumentu ili ga želite poslati nekom drugom, bolja je ideja makronaredbu spremiti kao dio dokumenta. Normal.dotm je zadana, pa ga morate promijeniti.)
Kada je Makro rekorder uključen upišite tekst "Pozdrav svijetu." u svoj Word dokument. (Pokazivač miša promijenit će se u minijaturnu sliku spremnika s vrpcom kako bi pokazao da se bilježe pritisci na tipke.)
(Napomena: Hello World gotovo je potreban za "Prvi program", jer je prvi programski priručnik za rano računalni jezik "C" iskoristio je. To je tradicija od tada.)
Klik Zaustavite snimanje. Zatvorite Word i spremite dokument pomoću imena: AboutVB1.docm. Morate odabrati a Word dokument s makronaredbom od Spremi kao vrstu padajućeg.
To je to! Sada ste napisali Word VBA program. Da vidimo kako to izgleda!
Razumijevanje što je VBA program
Ako ste Word zatvorili, otvorite ga ponovo i odaberite AboutVB1.docm datoteka koju ste spremili u prethodnoj lekciji. Ako je sve učinjeno ispravno, trebali biste vidjeti transparent na vrhu prozora dokumenta s sigurnosnim upozorenjem.
VBA i sigurnost
VBA je pravi programski jezik. To znači da VBA može raditi baš sve što vam treba. A to, zauzvrat, znači da ako primite Wordov dokument s ugrađenom makronaredbom od nekog negativca, taj makro može učiniti i gotovo sve. Stoga Microsoftovo upozorenje treba shvatiti ozbiljno. S druge strane, vas napisao taj makronaredbu i sve što radi je upisati "Hello World", tako da ovdje nema rizika. Kliknite gumb za omogućavanje makronaredbi.
Da biste vidjeli što je Macro Recorder stvorio (kao i da radite većinu ostalih stvari koje uključuju VBA), morate pokrenuti Visual Basic Editor. Na lijevoj strani vrpce za razvojne programere postoji ikona za to.
Prvo primijetite lijevi prozor. To se naziva Project Explorer i ona grupira objekte visoke razine (razgovarat ćemo više o njima) koji su dio vašeg projekta Visual Basic.
Kad je pokrenut Makro snimač, imali ste izbor normalan predložak ili trenutni dokument kao mjesto makronaredbe. Ako ste odabrali Normal, tada je NewMacros modul će biti dio normalan ogranak zaslona Project Explorer. (Trebate odabrati trenutni dokument. Ako ste odabrali normalan, izbrišite dokument i ponovite prethodne upute.) Odaberite NewMacros pod, ispod moduli u vašem trenutnom projektu. Ako se još uvijek ne pojavi nijedan prozor koda, kliknite Kodirati ispod Pogled izbornik.
Word dokument kao VBA spremnik
Svaki program Visual Basic mora biti u nekoj vrsti "spremnika" datoteke. U slučaju makronaredbi VBA Word 2007, taj spremnik je dokument s tekstom ('.docm'). Word VBA programi ne mogu se pokrenuti bez Word-a i ne možete stvoriti samostalne ('.exe') Visual Basic programe poput Visual Basic 6 ili Visual Basic .NET. Ali to još uvijek ostavlja čitav svijet stvari koje možete učiniti.
Vaš je prvi program svakako kratak i sladak, ali poslužit će vam u uvođenju glavnih značajki VBA i Visual Basic Editor-a.
Programski izvor obično će se sastojati od niza podprograma. Kad pređete na naprednije programiranje, otkrit ćete da i druge stvari mogu biti dio programa osim podprograma.
Navedena je ta posebna podprogram AboutVB1. Zaglavlje podprograma mora biti upareno s an Kraj Sub na dnu. Zagrade mogu sadržavati popis parametara koji se sastoji od vrijednosti proslijeđenih podprogramu. Ovdje se ništa ne prolazi, ali oni moraju biti tamo Pod izjava ionako. Kasnije, kada pokrenemo makronaredbu, tražit ćemo ime AboutVB1.
U podprogramu postoji samo jedna stvarna programska izjava:
Izbor. TypeText Text: = "Pozdrav svijetu!"
Objekti, metode i svojstva
Ova izjava sadrži velike tri:
- objekt
- metoda
- imanje
Izjava zapravo dodaje tekst "Hello World". na sadržaj tekućeg dokumenta.
Sljedeći je zadatak pokrenuti naš program nekoliko puta. Baš kao što kupujete automobil, dobra je ideja voziti ga na neko vrijeme dok se ne osjeća pomalo ugodno. To radimo sljedeće.
Programi i dokumenti
Imamo slavni i komplicirani sustav... koja se sastoji od jedne programske izjave... ali sada ga želimo pokrenuti. Evo o čemu se radi.
Ovdje treba naučiti jedan koncept koji je vrlo važan i često zbunjuje prvopričesnike: razlika između program i the dokument. Ovaj je koncept utemeljen.
Programi VBA moraju biti sadržani u datoteci domaćina. U Wordu je domaćin dokument. U našem primjeru to je to AboutVB1.docm. Program se zapravo sprema unutar dokumenta.
Na primjer, ako je to Excel, govorili bismo o program i the proračunske tablice. U pristupu program i the baza podataka. Čak i u samostalnoj aplikaciji Visual Basic Windows imali bismo a program i a oblik.
(Napomena: U programiranju postoji trend da se svi spremnici na visokoj razini nazivaju "dokument". To se posebno događa kada XML... još jedna nadolazeća tehnologija... koristi se. Ne dopustite da vas zbunjuju. Iako je riječ o neznatnoj netočnosti, možete smatrati da su "dokumenti" približno isti kao "datoteke".)
Tamo su... ummmmm... o tri glavna načina za pokretanje VBA makronaredbe.
- Možete ga pokrenuti iz dokumenta Word.
(Napomena: Dvije potkategorije su da odaberete Makronaredbe iz izbornika Alati ili samo pritisnite Alt-F8. Ako ste makronaredbu dodijelili prečacu Alatnoj traci ili tipkovnici, to je još jedan način.)) - Možete ga pokrenuti iz programa Editor pomoću ikone Run ili izbornika Run.
- Kroz program možete napraviti jedan korak u načinu uklanjanja pogrešaka.
Trebali biste isprobati svaku od ovih metoda samo kako biste se osjećali ugodno uz Word / VBA sučelje. Kada završite, imat ćete cijeli dokument ispunjen ponavljanjima "Pozdrav svijetu!"
Pokretanje programa iz Worda je prilično jednostavno. Jednostavno odaberite makronaredbu nakon što kliknete makro ikonu ispod Pogled kartica.
Da biste ga pokrenuli iz uređivača, prvo otvorite uređivač Visual Basic, a zatim kliknite ikonu Pokreni ili na izborniku odaberite Pokreni. Evo gdje bi razlika između Dokumenta i Programa mogla nekima postati zbunjujuća. Ako ste dokument smanjili ili su možda vaši prozori uređeni tako da ih uređivač prekriva, možete kliknuti ikonu Pokreni ponovo i ponovo i čini se da se ništa ne događa. Ali program se pokreće! Prebacite se ponovo na dokument i pogledajte.
Jedan korak kroz program vjerojatno je najkorisnija tehnika rješavanja problema. To se također radi iz uređivača Visual Basic. Da biste to isprobali, pritisnite F8 ili odaberite Zakoračiti u od otkloniti neispravnost izbornik. Prva izjava u programu, Pod izjava, istaknuta. Pritiskom na F8 izvršavaju se programske izjave jedna po jedna dok se program ne završi. Možete točno vidjeti kada se tekst dodaje dokumentu na ovaj način.
Postoji mnogo pročišćenih tehnika za uklanjanje pogrešaka, poput 'Breakpoints', pregledavanja programskih objekata u 'Neposrednom prozoru' i upotrebe 'Watch Window'. Ali za sada, budite svjesni da je ovo primarna tehnika uklanjanja pogrešaka koju ćete koristiti kao programer.
Objektno orijentirano programiranje
Sljedeća je lekcija o razredu Objektno orijentirano programiranje.
"Whaaaattttt!" (Čujem vas kako stenjate) "Samo želim pisati programe. Nisam se prijavio za informatičara! "
Ne boj se! Dva su razloga zbog kojih je ovo sjajan potez.
Prvo, u današnjem programskom okruženju jednostavno ne možete biti učinkovit programer bez razumijevanja objektno orijentiranih koncepcija programiranja. Čak se i naš vrlo jednostavni jednoredni program "Zdravo svijet" sastojao od objekta, metode i svojstva. Po mom mišljenju, nerazumijevanje predmeta najveći je pojedinačni problem koji programeri počinju. Pa ćemo se suprostaviti zvijeri ispred naprijed!
Drugo, to ćemo učiniti što bezbolnijim. Nećemo vas zbuniti s velikim brojem žargona informatike.
Ali odmah nakon toga vratit ćemo se natrag u pisanje programskog koda s lekcijom gdje razvijamo VBA makronaredbu koju vjerojatno možete koristiti! Taj program još malo usavršujemo u sljedećoj lekciji i na kraju ćemo vam pokazati kako započeti koristiti VBA s nekoliko aplikacija odjednom.