Elismerése karakternél

Elismerése karakternél

Ez a könyv segít elsajátítani a VBA integrált fejlesztői környezet, és megtanulják, hogyan kell programozni a VBA-ban a tárgyak használata, azok tulajdonságait, módszerek és eseményeket. Vizsgálat programozási technikák olyan példák illusztrálják, amelyek segítségével azonnal kipróbálni a gyakorlatban. A megszerzett tudás lesz képes alkalmazni a kiigazítás és javítása népszerű Office alkalmazások, többek között az Office XP alkalmazások és a saját alkalmazásokat.

A könyv azoknak készült, akik mennek gyorsan és könnyedén megtanulják, hogyan kell programozni a Windows, a VBA.

Könyv: VBA kezdőknek

Elismerése karakternél

Elismerése karakternél

Használjon KeyPress esemény, KeyDown és KeyUp, hogyan reagálnak a felhasználók karakternél. KeyPress esemény hasznos kimutatására hagyományos billentyűk „típus” szimbólumokat (betűk, számok, írásjelek), ha kell feldolgozni a bevitt információk a szövegmezőbe, vagy egy legördülő lista. Ezzel az eseménnyel, elismeri, hogy sok fajta kombináció , valamint a legfontosabb . Egy kicsit később megmutatom, hogyan kell ellenőrizni vagy módosítani a nyomtatott szimbólum használatával KeyPress esemény eljárást.

KeyDown esemény és a KeyUp, éppen ellenkezőleg, ismeri szinte bármilyen billentyűkombinációt küldeni őket, beleértve a típus a furcsaság . E fejlesztésekkel keményebben dolgozik, mint a KeyPress, de lehetővé teszi, hogy egy szélesebb körű billentyűparancsokat. Például, akkor hozza létre a KeyDown esemény eljárást, amely lehetővé teszi, hogy a kombinációk és > Illetve csökkenti vagy növeli az értékét a görgetősáv, például 10.

A 10. fejezet, megbeszéltük az alapvető technikákat, hogy megbizonyosodjon arról, hogy a felhasználó az űrlapon megadott pontos információ. Itt fogunk beszélni néhány trükköt.

Abban az esetben, szövegdobozok és kombinált listák néhány szimbólumok adatbevitel nem megengedett. Használja KeyPress eseménykezelő eljárás megszüntetése érvénytelen karaktert a képernyő esetén a nyomtatás, a felhasználó által. Az alábbi kód segítségével adja betűk és számok:

Private Sub txtSerial Number_KeyPress (ByVal KeyAscii _

„Minden a következő blokk feltétele:

Ha Chr (KeyAscii) <"0" Or _

(Chr (KeyAscii)> "9" Chr (KeyAscii) <"A") Or _

(Chr (KeyAscii)> "Z" és a chr (KeyAscii) <"a") Or _

Chr (KeyAscii)> "Z" Akkor

MsgBox „Érvénytelen karakter!”

KeyAscii = 0 „elutasítása a szimbólum

Igen, bevallom, hogy én itt alkalmazott feltétel meglehetősen hosszú, de működik. Amint az üzemeltető Ha. Akkor azt észleli érvénytelen karaktert, az üzenetet róla. Aztán jön az üzemeltető KeyAscii = 0; KeyAscii érv eseményhez KeyPress, ezért használják, mint egy helyi változó ebben az eljárásban. Változó értékét megváltoztatja a karakter kódot küldött szöveges mezőbe. Mivel a szöveg doboz maga nem érzékeli a jel, amely a 0 kódot, a felhasználó beírta érvénytelen karaktert nyom nélkül eltűnik.

Értékének megváltoztatása KeyAscii érv lehetővé teszi, hogy módosítsa hibás bejegyzéseket a jobb oldalon. Például a következő eseményt eljárást lehet használni, hogy megjelenjen, és tárolja a felhasználó által beírt szöveget egy szöveges nagybetű:

Private Sub txtSerial Number_KeyPress (ByVal KeyAscii _

Végző kezelő az átalakítás szükséges a használata három funkció, beágyazott egyik a másikban. Mivel KeyAscii egy numerikus karakterből álló kódot, először meg kell alakítani a kódot egy karakterlánc keresztül Chr függvény, akkor lefordítani egy string nagybetűs segítségével UCase végül ismét átalakítani a karakterláncot egy egész ASC.

Ha azt szeretnénk, hogy még egyszer ellenőrizze a kontroll érték minden változást hozzon létre egy eseményt eljárást, vagy használja kész az előző alfejezetben. De néha előnyös, hogy elhalasztja az adatokat, amíg a felhasználó befejezte belépés teljesen. Néhány hálás lesz a lehetőség, hogy segítség nélkül helyes adatbevitelt, mielőtt véglegesen adja át az adatokat a vizsgálati program, - ez úgy érzékelik, mint egy közvetett elismerését azok mentális képességek.

Elhalasztja a teszt van értelme, és ha ez hosszú időt vesz igénybe. Ha van összehasonlítani a bemenő adatok adatok bármely adatbázis vagy az internetről, akkor valószínűleg nem akarja kényszeríteni a felhasználót, hogy várjon, amíg a program megkeresi az adatok összehasonlítása után minden egyes gombnyomás, és minden kattintás az egér gombját.

A teszt a kontroll érték, miután a felhasználó beírta teljesen, hozzon létre egy eseményt eljárás BeforeUpDate. Ezek az események fordulnak elő, ha a felhasználó rákattint egy másik vezérlő, prések vagy megnyomja a billentyűkombináció rendelt másik vezérlőelem. VBA naplózza esemény BeforeUpDate előtt elhagyja ezt vezérlőre, majd törölheti a frissítést az adatok és a helyén maradjon, arra kéri a felhasználót, hogy javítsa ki a hibát. A következő példa bemutatja, hogyan kell használni az üzemeltető Mégsem:

Private Sub txtSerial Number_Change ()

Ha Len (t xt Serial Number.Value)> Ezután 5

MsgBox „Ismétlés a karakterek túl sok ..”

Néha van értelme, hogy elhalasztja a szkennelési vezérlő adatokat a pillanat, amikor a felhasználó rákattint az OK gomb bezárja az űrlapot. Meg kell csinálni, ha a vizsgálati kritériumok értékeit felhasználva több ellenőrzések formában. Ha ezt a típusú vizsgálat, helyezze a megfelelő kódot a Click esemény eljárást az OK gombra. Tegyük fel, hogy a fejlődő formája, amely lehetővé teszi a felhasználó számára, hogy belépjen időpontot jövő fontos eseményekről. A forma egy listát, amelyben a felhasználó megadhatja, hogy mennyi ideig az esemény előtt kell kérni tőle. Ha a felhasználó a menetrend néhány találkozót holnap, de kérni fogja felidézni két nappal előtte, akkor jelentse tilalmáról szóló ilyen adatokat, ha a felhasználó rákattint az OK gombot. Így nem kell kérni a felhasználót, hogy adatokat bevinni kontrollok egy bizonyos elkerülése érdekében hibaüzenetek.

Kapcsolódó cikkek