A tanfolyam célja, hogy segítse az embereket, akik még soha nem írtak programot, és megtanulják megírni a programot. Nincs ok miért irodai dolgozók, háztartások, profi mérnökök és pizzát szállító személyek nem tudnák kihasználni a saját kezükben készített egyedi számítógépes programjaikat, hogy gyorsabban működjenek okosabb. Nem kell, hogy egy „profi programozó” (bármi is legyen) a munka elvégzéséhez. Tudod, hogy mit kell jobban tenni, mint bárki másnál. Meg tudod csinálni magad!
(És ezt mondom olyanként, aki sok évet töltött programok írásával mások számára... 'szakmailag'.)
Mindazonáltal ez nem egy tanfolyam a számítógép használatában.
Ez a tanfolyam feltételezi, hogy ismeri a népszerű szoftverek használatát, és különösen azt, hogy a Microsoft Word 2007 telepítve van a számítógépén. Tudnia kell az alapvető számítógépes ismereteket, például a fájlmappák (azaz a könyvtárak) létrehozásáról, valamint a fájlok áthelyezéséről és másolásáról. De ha mindig is azon tűnődött, hogy mi a számítógépes program valójában, az rendben van. Megmutatjuk.
A Microsoft Office nem olcsó. De a már telepített drága szoftverek nagyobb hasznot hozhatnak. Ez nagy ok, amit használunk Visual Basic for Applications, vagy VBA, valamint a Microsoft Office. Milliók vannak, és van egy maroknyi (talán senki sem), aki mindent megtesz, amit képes.
Mielőtt továbbmennénk, még egyszer meg kell magyaráznom a VBA-t. 2002 februárjában a Microsoft 300 milliárd dolláros téttel tett egy teljesen új technológiai alapot teljes vállalata számára. .NET-nek hívták. Azóta a Microsoft egész technológiai bázisát áthelyezi a VB.NET-be. A VBA a legutóbbi programozó eszköz, amely még mindig használja a VB6-ot, a kipróbált és igaz technológiát, amelyet a VB.NET előtt használtunk. (Ezt a VB6 szintű technológiát a "COM alapú" kifejezés fogja látni.)
VSTO és VBA
A Microsoft létrehozott egy módszert a VB.NET programok írására az Office 2007 számára. Visual Studio Tools for Office (VSTO) néven hívják. A VSTO problémája az, hogy meg kell vásárolnia és meg kell tanulnia használni a Visual Studio Professional alkalmazást. Maga az Excel továbbra is COM-alapú, és a .NET programoknak az Excel-sel kell működniük egy interfészen keresztül (úgynevezett PIA, Primary Interop Assembly).
Így... mindaddig, amíg a Microsoft össze nem lép, és lehetőséget ad arra, hogy olyan programokat írjon, amelyek a Word-rel együtt fognak működni, és nem készteti az IT-osztályba való belépést, addig a VBA makrók továbbra is szükségesek.
Egy másik ok, amiért használjuk a VBA-t, hogy valóban egy "teljesen sült" (nem félig sült) szoftverfejlesztés környezet, amelyet a programozók évek óta használnak a létező legkifinomultabb rendszerek létrehozására. Nem számít, milyen magasra van beállítva a programozási látnivalók. A Visual Basic hatalommal rendelkezik arra, hogy odavisz téged.
Mi a makró?
Lehet, hogy olyan asztali alkalmazásokat használt, amelyek korábban támogatják az úgynevezett makró nyelvet. A makrók hagyományosan csak a billentyűzet műveleteinek parancsfájljai, amelyek egy névvel vannak csoportosítva, így egyszerre végrehajthatják azokat. Ha mindig elkezdi a napot a „MyDiary” dokumentum megnyitásával, a mai dátum megadásával és a „Kedves napló” szavak beírásával - Miért nem hagyja, hogy számítógépe ezt megtegye érted? A többi szoftverrel való összeegyeztethetőség érdekében a Microsoft makroszintű nyelvnek is nevezi a VBA-t. De nem az. Sokkal több.
Számos asztali alkalmazás tartalmaz egy szoftver eszközt, amely lehetővé teszi egy "billentyűleütés" makró rögzítését. A Microsoft alkalmazásokban ezt az eszközt Macro Recordernek hívják, de az eredmény nem egy hagyományos billentyűleütési makró. Ez egy VBA program, és a különbség az, hogy nem egyszerűen csak a billentyűleütéseket játssza le. A VBA program ugyanazt a végeredményt nyújtja, ha lehetséges, de olyan kifinomult rendszereket is írhat a VBA-ban, amelyek egyszerű billentyűzetmakrókat hagynak a porban. Például használhatja az Excel függvényeit a Word alkalmazásban a VBA használatával. És integrálhatja a VBA-t más rendszerekkel, például adatbázisokkal, az internettel vagy más szoftver alkalmazásokkal.
Bár a VBA makró felvevő nagyon hasznos egyszerű billentyűzetmakrók, programozók létrehozásához felfedezték, hogy még hasznosabb, ha kifutóbb programokban futtatják őket. Ezt fogjuk csinálni.
Rajt Microsoft Word 2007 egy üres dokumentummal, és készülj fel egy program írására.
A Word fejlesztő lapja
A Visual Basic program Word 2007-ben történő írásához az első dolgok közül az egyik a következő keresse meg a Visual Basic alkalmazást! A Word 2007 alapértelmezése szerint a használt szalag nem jelenik meg. A Fejlesztő lapon először kattintson a Hivatal gombot (a bal felső sarokban található logó), majd kattintson az OK gombra Szó opciók. kettyenés Mutasd a Fejlesztő fület a szalagon majd kattintson az OK gombra rendben.
Ha rákattint a Fejlesztő lapon, egy teljesen új eszközkészlettel rendelkezik a VBA programok írásához. A VBA makró-felvevőt fogjuk használni az első program készítéséhez. (Ha az összes szerszám szalagja eltűnik, érdemes jobb gombbal kattintani a szalagra, és ellenőrizze Minimalizálja a szalagot nincs bejelölve.)
kettyenés Rögzítse a makrót. Nevezze el makróját: AboutVB1 beírva ezt a nevet a Makró név szövegdoboz. Válassza ki az aktuális dokumentumot a makró tárolásának helyéhez, majd kattintson az OK gombra. Lásd az alábbi példát.
(Megjegyzés: Ha választ Minden dokumentum (Normal.dotm) a legördülő menüből ez a teszt VBA program valójában maga a Word részévé válik, mivel ezután elérhető lesz minden Word-ben létrehozott dokumentum számára. Ha csak egy VBA makrót szeretne használni egy adott dokumentumban, vagy ha azt akarja, hogy elküldje valakinek, akkor jobb ötlet, ha a makrót a dokumentum részeként menti. Normal.dotm az alapértelmezés, ezért meg kell változtatnia.)
A Macro Recorder bekapcsolt állapotában írja be a "Hello World" szöveget. a Word dokumentumba. (Az egérmutató miniatűr képké válhat egy szalagos patronról, jelezve, hogy a billentyűleütéseket rögzítik.)
(Megjegyzés: A Hello World szinte szükséges az "első programhoz", mivel a legelső programozási kézikönyv a korai programhoz számítógépes nyelv "C" használta. Azóta hagyomány.)
kettyenés A felvétel leállítása. Zárja be a Word-t, és mentse a dokumentumot a névvel: AboutVB1.docm. Ki kell választania a Word makró-engedélyezve dokumentum tól Mentés típusként ledob.
Ez az! Ön most írt egy Word VBA programot. Nézzük meg, hogy néz ki!
Megértése, mi a VBA program
Ha bezárta a Word-t, nyissa meg újra, és válassza a lehetőséget AboutVB1.docm az előző leckében mentett fájl. Ha minden helyesen történt, akkor a dokumentumablak felső részén biztonsági figyelmeztetéssel kell látnia egy szalaghirdetést.
VBA és biztonság
A VBA egy igazi programozási nyelv. Ez azt jelenti, hogy a VBA szinte bármit megtehet, amire szüksége van. És ez viszont azt jelenti, hogy ha beágyazott makróval ellátott Word-dokumentumot kap egy „rossz fiúktól”, akkor ez a makró szinte bármit meg tud tenni. Tehát a Microsoft figyelmeztetését komolyan kell venni. Másrészről, te írta ezt a makrót, és csak a "Hello World" típusba tartozik, tehát itt nincs kockázat. Kattintson a gombra a makrók engedélyezéséhez.
Ahhoz, hogy megnézhesse, mit hozott létre a makró-felvevő (valamint a legtöbb más, a VBA-t is magában foglaló műveletet), el kell indítania a Visual Basic Szerkesztőt. A fejlesztői szalag bal oldalán van egy ikon erre.
Először vegye figyelembe a bal oldali ablakot. Ezt hívják Project Explorer és összefoglalja a Visual Basic projekt részét képező magas szintű objektumokat (erről bővebben beszélünk).
Amikor elindította a makró felvevőt, választhatott a Normál sablon vagy az aktuális dokumentum, mint a makró helyszíne. Ha a Normál lehetőséget választotta, akkor a NewMacros modul része lesz a Normál a Project Explorer kijelzőjének ága. (Ki kellett választania az aktuális dokumentumot. Ha kiválasztottad Normál, törölje a dokumentumot, és ismételje meg az előző utasításokat.) Válassza a lehetőséget NewMacros alatt modulok a jelenlegi projektben. Ha még mindig nem jelenik meg kódkód, kattintson a gombra Kód alatt Kilátás menü.
A Word-dokumentum VBA-tárolóként
Minden Visual Basic programnak valamilyen „tároló” fájlban kell lennie. A Word 2007 VBA makrók esetében a tároló egy (.docm) Word-dokumentum. A Word VBA programjai nem futhatnak Word nélkül, és önálló ('.exe') Visual Basic programokat nem hozhat létre, ahogyan a Visual Basic 6 vagy a Visual Basic .NET. De ez még mindig meghagyja a dolgok egy egész világát, amit megtehetsz.
Az első programod minden bizonnyal rövid és kedves, de a VBA és a Visual Basic Editor főbb jellemzőinek bemutatására szolgál.
A program forrása általában egy sor alprogramból áll. Ha tovább halad a fejlettebb programozásra, rájön, hogy a szubrutinokon kívül más dolgok is lehetnek a program részei.
Ennek a szubrutinnak a neve AboutVB1. A szubrutin fejlécet párosítani kell egy Befejezés Sub az alján. A zárójelben lehet egy paraméterlista, amely az alprogramba továbbított értékeket tartalmazza. Semmi nem kerül át itt, de ott kell lennie a Alatti nyilatkozat egyébként. Később, amikor futtatjuk a makrót, megkeressük a nevet AboutVB1.
Csak egy tényleges programnyilatkozat van az alprogramban:
Kiválasztás. TypeText szöveg: = "Helló világ!"
Tárgyak, módszerek és tulajdonságok
Ez a megállapítás a három nagyot tartalmazza:
- egy tárgy
- egy metódus
- egy ingatlan
A nyilatkozat valójában hozzáteszi a "Hello World" szöveget. az aktuális dokumentum tartalmához.
A következő feladat az, hogy néhányszor futtassuk programunkat. Csakúgy, mint egy autó vásárlása, jó ötlet egy kicsit tovább vezetni, amíg egy kicsit kényelmesnek nem érzi magát. Ezt csináljuk következőként.
Programok és dokumentumok
Megvan a dicsőséges és bonyolult rendszerünk... amely egy programnyilatkozatból áll... de most azt akarjuk futtatni. Itt van az egész.
Itt kell tanulnunk egy fogalmat, amely nagyon fontos, és gyakran valóban megzavarja az első időzítőket: a különbség a program és a dokumentum. Ez a koncepció alapvető.
A VBA programokat tartalmaznia kell egy gazdafájlban. Wordben a host a dokumentum. Példánkban ez az AboutVB1.docm. A program valójában a dokumentumba kerül.
Például, ha ez Excel volt, akkor a program és a táblázatkezelő. Az Accessben a program és a adatbázis. Még önálló Visual Basic Windows alkalmazásban is van egy program és a forma.
(Megjegyzés: A programozás tendenciája az, hogy minden magas szintű tárolót "dokumentumnak" hívjon. Különösen ez az eset, amikor az XML... újabb és újabb technológia... használva van. Ne hagyja, hogy megzavarja. Noha ez kissé pontatlan, úgy gondolhatja, hogy a "dokumentumok" nagyjából megegyeznek a "fájlokkal."
Vannak... ummmmm... a VBA makró futtatásának három fő módja.
- A Word dokumentumból futtathatja.
(Megjegyzés: Két alkategória: válassza az Makro menüpontot az Eszközök menüből, vagy csak nyomja meg az Alt-F8 billentyűt. Ha a makrót az Eszköztárhoz vagy a Billentyűparancshoz rendeli, akkor ez egy újabb módszer.)) - A Szerkesztőből futtathatja a Futtatás ikon vagy a Futtatás menü segítségével.
- Debug módban egyszerre léphet a programon.
A fenti módszerek mindegyikét meg kell próbálnia, csak hogy kényelmesebbé váljon a Word / VBA felület. Amikor befejezi, akkor van egy egész dokumentum, amely tele van "Hello World!" Ismétlésekkel.
A program futtatása a Wordből meglehetősen könnyű. Csak válassza ki a makrót a Macro ikon a Kilátás fület.
A szerkesztőből történő futtatáshoz először nyissa meg a Visual Basic szerkesztőt, majd kattintson a Futtatás ikonra, vagy válassza a menü Futtatás parancsát. Íme, ahol a dokumentum és a program közötti különbség zavaró lehet néhány számára. Ha minimalizálta a dokumentumot, vagy esetleg elrendezte az ablakokat, így a szerkesztő lefedi, akkor újra és újra rákattinthat a Futtatás ikonra, és úgy tűnik, hogy semmi sem történik. De a program fut! Váltás újra a dokumentumra, és látni.
A program egyetlen lépésével valószínűleg a leghasznosabb problémamegoldó technika. Ezt a Visual Basic szerkesztőből is elvégezzük. A kipróbáláshoz nyomja meg a gombot F8 vagy válassza Belép tól Debug menü. A program első állítása, a Alatti nyilatkozat, kiemelve. Az F8 megnyomásával egyenként futtathatja a program utasításokat, amíg a program véget nem ér. Pontosan láthatja, hogy a szöveg miként lett hozzáadva a dokumentumhoz.
Sok finomabb hibakeresési technika létezik, mint például a „Breakpoints”, a programobjektumok vizsgálata az „azonnali ablakban” és a „figyelőablak” használata. De most tisztában kell lennie azzal, hogy ez egy elsődleges hibakeresési technika, amelyet programozóként fog használni.
Objektumorientált programozás
A következő osztályóra szól Objektumorientált programozás.
"Whaaaattttt!" (Hallom, hogy nyúlik) "Csak programokat akarok írni. Nem jelentkeztem informatikusként! "
Ne félj! Két oka van annak, hogy ez egy nagy lépés.
Először: a mai programozási környezetben egyszerűen nem lehet hatékony programozó anélkül, hogy megértené az objektum-orientált programozási koncepciókat. Még a nagyon egyszerű, egy soros "Hello World" programunk egy tárgyból, egy módszerből és egy tulajdonságból állt. Véleményem szerint a tárgyak megértése nem az a legnagyobb probléma, amelyet a programozók kezdenek. Szóval, a fronton fogunk szembeszállni!
Másodszor, ezt a lehető legfájdalmasabban fogjuk tenni. Nem fogjuk megzavarni téged egy nagy számú informatikai zsargonban.
De rögtön ezután visszatérünk a programozási kód írásához egy leckével, ahol kifejlesztetünk egy VBA makrót, amelyet valószínűleg használhatunk! A következő leckében kissé tovább tökéletesítjük ezt a programot, és befejezzük azzal, hogy megmutatjuk, hogyan kezdje el használni a VBA-t egyszerre több alkalmazáshoz.