Online vba olvasás dummies szerző részére cummings steve - rulit - 14. oldal

Ábra. 3.14. Egyéni űrlap futtatása a kód hozzáadása előtt

Itt az ideje, hogy továbblépjünk a legfélelmetesebb és ugyanakkor a legvonzóbb programozási szakaszban a VBA-ban - a programkód létrehozásához. Hadd emlékeztessem Önöket, hogy a programunkhoz két eljárást kell létrehoznunk, és azoknak a program végrehajtása során bekövetkező eseményekkel kell társulniuk. Az első eljárásnak meg kell jelennie a szükséges üzenet, ha az űrlap megjelenik a képernyőn, és a második eljárásnak meg kell szakítania a program végrehajtását, amikor valaki rákattint az OK gombra.

Az űrlaphoz vagy annak valamelyik vezérlőjéhez társított programkód kinyomtatásához meg kell nyitnia az űrlap ablakának kódlapját. Ehhez válassza ki az űrlapot vagy a vezérlőt. Az OK gombra kattintva ez a legegyszerűbb, ezért ne kezdj vele. Kattintson az OK gombra az átméretező fogantyúk körül. Most, hogy hívja a kódablakot, használja a következő módszereket.

* Válassza a Nézet = Kódot a menüből.

* Jobb egérgombbal kattintsunk az űrlapra, és a megjelenő előugró menüből válassza a Kód megtekintése lehetőséget.

A programkód létrehozott ablakában már beszerzési eljárásra van szükség (3.15. Ábra). A VBA automatikusan létrehoz egy eljárást az eseményre, amelyet gyakran használnak gombok esetén - egy egyszerű kattintás a gombon. A program ezt az eljárást használja, amikor valaki rákattint az OK gombra.

Ábra. 3.15. A VBA létrehoz egy ilyen eljárási köteget, amint megnyitja a kód ablakot az OK gombra

Valójában a két kódsor nem tesz semmit - egyszerűen definiálják a VBA-t bemutató kereteket, ahol az eljárás megkezdődik és befejeződik. Az Ön számára létrehozott kód első sora lesz

Privát rész OKButton_Click ()

Bármely VBA eljárás során a programkód első sorában meghatározza az eljárás típusát (ebben az esetben a .sub rutin, azaz a szubrutin) és az eljárás neve. A privát és a Sub hivatkozik a VBA kulcsszavakra, azaz a VBA kulcsszavakra. szavakat és szimbólumokat, amelyek a VBA nyelv részét képezik. A kulcsszavak rögzített speciális értékeket tartalmaznak a VBA-ban, és nem használhatják őket objektumok, például eljárások esetén. Egyébként a VBA-ban különféle eljárásokat tárgyalunk a 6. fejezetben. Ebben az esetben a VBA az eljáráshoz az OKButton_Click nevet kínálja, amely egy gombnév és egy eseménytípus kombinációja.

Az automatikusan generált kód utolsó sora:

Egy ilyen vonalnak véget kell vetni minden Sub típusú típusnál. Ez a sor azt mondja a VBA-nak. hogy itt az ideje befejezni az eljárást.

Adja hozzá saját kódját

A szöveges kurzor villogni fog a két létrehozott VBA karakterlánc között. Ha csak egy további kódkódot írunk be, engedélyezzük a program befejezését. Itt van a kód:

Az eltávolítás utasítás eltávolítja a megadott objektumot a memóriából. Ez egy Me nevű névvel rendelkező objektum, amely különös jelentéssel bír a VBA-ban. Ebben az esetben a formanyomtatványt és annak összes programkódját jelenti.

Hibák javítása a programkód beírása közben

Figuratív módon mindig, amikor beírja a programkódot, hátul mögött a VBA fordító. Ha a fordító nyilvánvaló hibát észlel, azonnal hibaüzenetet kap, legalábbis általánosan. Tegyük fel például, hogy az Unload Me utasítás után extra karaktert írtak be. A VBA fordító tudja, hogy az Unload Me egy komplett nyilatkozat, és nem lehet semmi más a sorban.

Miután áthelyezte a beillesztési pontot a következő sorra, a fordító felülírja a rossz operátort pirosan, és kiválaszthat egy idegen karaktert. Ön is megkapja az Üzenet fordítása hibát. Várható: a nyilatkozat vége (várhatóan a nyilatkozat befejezéséhez).

A fordító nem észlelheti az összes hibát, amelyet a szoftveres tét nyomtatásakor tett. A program futtatásakor a fordító más hibákat észlel, de egy kicsit később beszélünk róluk.

A második eljárás, amely egy üzenetet jelenít meg a képernyőn, kicsit bonyolultabb, mint az első. Ezt az eljárást akkor kell felhívni, amikor az űrlap megjelenik a képernyőn. A kódablakban, amelyet meg kell tartani, kövesse az alábbi lépéseket.

1. A programkód ablak bal felső sarkában lévő szövegdobozban, amelyen az OKButton eddig írt, kattintson a jobb felső sarokban lévő nyílra.

Ezután megnyílik az űrlaphoz kapcsolódó objektumok listája (3.16. Ábra).

Ábra. 3.16. Az objektumok legördülő listája felsorolja a kódablakhoz tartozó űrlaphoz tartozó objektumokat

2. A legördülő listából válassza a UserForm menüpontot.

A VBA új eljárást hoz létre a Click eseményre. Ezt az eljárást akkor hívják meg, ha a program felhasználója az egérrel bárhova kattint a gazdaságban, ahol nincsenek vezérlők. A programunk veled ez az eljárás nem szükséges, így most hagyja el.

3. Kattintson a jobb oldali szövegdob jobb oldalán található nyílra, hogy megnyissa az eljárások listáját, amelyeken felsorolják a VBA által a UserForm objektumra felismert összes eseményt.

Ez a lista meglehetősen nagy, ami lehetőséget nyújt arra, hogy a programot olyan érzékenyebbé tegye, ahogyan tetszik (3.17. Ábra).

Ábra. 3.17. Az eljárások listája tartalmazza az aktuálisan aktív objektumhoz tartozó eseményeket

4. Válassza az Aktiválás - az első elemet a listában. Ha látni szeretné ezt az elemet, akkor át kell görgetnie a listát.

A VBA hűségesen hozzon létre egy beszerzési eljárást a UserForm_Activate-nek, amelyet az űrlap memóriába töltése esetén hívnak le.

5. Ha bosszant az üres UserForm_Click eljárással, törölje azt, kiemelve az összes szöveget és nyomja meg a Del billentyűt.

Ez a lépés nem szükséges - a megfelelő programkód nem okoz kárt. De mivel ez a programkód nem tesz semmit hasznosnak, de csak elvonja, biztonságosan megszakíthatja magányos életét.

Mivel a beszerzési eljárás ebben az esetben, mint mindig, automatikusan létrejön, akkor azonnal összpontosítani a kitöltésre. Azokat a sorokat, amelyekkel a VBA kedvesen ajánlott, írjon még három sornyi kódot. Az eredménynek így kell lennie:

Dim Quote As String Idézet = Ne ismételje ezt soha:

lblNow.Caption = Idézet formátum (Most, dddddd, hh órák mm min.)

Az első sor, amelyet beírtál

Dim Idézés Stringként

létrehoz egy Price nevű változót, és karakterláncként definiálja, ami szöveg karakterek sorát jelenti.

Idézet = Ez soha nem megismétlődik:

mentse a szöveget Ez soha többé nem történik meg: a létrehozott Idézetben. Akárcsak az algebrai órákban az iskolában, itt használod az egyenlő jelet egy bizonyos érték hozzárendeléséhez egy változóhoz. Ne feledje, hogy a VBA-nak van egy üres területe az idézőjelek bezárása előtt, hogy elválassza az üzenet szövegét a követett szövegtől.

lblNow.Caption = Idézet formátum (Most, dddddd, hh órák mm min.)

tartalmazza a programkódot, amely közvetlenül megjeleníti a kívánt üzenetet az űrlapon. Ez a sor a lblNow nevű vezérlő azonosításával kezdődik, amellyel fut. A név után van egy pont, ami azt jelenti, hogy az objektum lblNow következő tulajdonsága - ebben az esetben ez a tulajdonság Caption. Általában minden tulajdonság olyan, mint egy változó, és ez futási idő alatt módosítható. Ezért a tulajdonság beállításainak megváltoztatásához az egyenlőség kódját a kód használja. A vonal többi része egy üzenetet határoz meg, amelyet a képernyőn fel kell tüntetni.

Az üzenet első része az Idézet változó. A következő esetben a pluszjel arra utasítja a VBA-t, hogy adja hozzá az alábbiakat, a Quote változóban tárolt szöveghez. A zárójelben a Now funkció azt mondja a VBA-nak, hogy futtatnia kell, és meg kell találnia az aktuális számítógép órajelét, amely folyamatosan számolja a dátumot és az időt. Ezután a Formázás funkció átveszi ezt a nyers információt és megjeleníti azt egy olvasható formában. A furcsa betűkészlet idézőjelekben csak meghatározza a dátum és az idő villáját, de itt nem fogok részletes magyarázatot adni - részletes információkat talál a 11. fejezetben.

Kapcsolódó cikkek