Példák a vba funkciók használatára
A felesleges karakterek eltávolítása
Gyakran a program sorai tartalmaznak felesleges szóközt a sor végére vagy elejére, amelyet törölni kell, mert a szálon lévő idegen vezető vagy utólagos terek problémákat okozhatnak a programban.
A VBA-ban három olyan funkció van kialakítva, amely eltávolítja a vezető és a záró tereket egy karakterláncból: LTrim, RTrim, Trim. Ne feledje, hogy ezek a funkciók nem változtatják meg az eredeti karakterláncot, de a karakterlánc egy példányát extra térközökkel távolítják el.
A hossza meghatározása
A string hossza általában szükséges tudni, hogy mikor formázás üzeneteket a felhasználót, vagy a formázási adatok húr bevitt eljárás Word vagy Excel munkalap dokumentumot. A VBA erre a célra használja a Len funkciót. A következõ felsorolásban a zárójelek és a szó megjelölése között két szóköz van.
Legyen óvatos a rögzített hosszúságú vonalakkal. Mivel egy fix hosszúságú string mindig azonos hosszúságú, a Len funkció mindig visszaadja a deklarált húrhosszúságot, függetlenül a húr tényleges hosszától. Például, ha a string változó StrokeName fix hosszúságú, hossza 15 karakter tulajdonképpen a „Sun”, a Len (StrokeName) függvény eredménye 15. Annak érdekében, ebben az esetben, hogy ismerjük a tényleges hossza a húr (esetünkben - 6), használat A következő funkciók kombinációja: Len (Trim (StrokeName)).
Hasonlítsa össze és keresse meg a karakterláncokat
A VBA-ban két funkció segít összefoglalni a stringeket: StrComp, InStr.
StrComp funkció
StrComp (String1, String2 [, Összehasonlítás])
String1, String2 - minden olyan két karakterlánc, amelyet össze kell hasonlítani.
Az összehasonlítás egy opcionális argumentum, amely a következő előre definiált konstansok bármelyike lehet (ha kihagyja, az aktuális opció összehasonlítás):
- vbBinaryCompare - két sor bináris összehasonlítása;
- vbTextCompare - két vonal szöveges összehasonlítása;
- vbDatabaseCompare - csak a Microsoft Access programban használható.
Amikor a StrComp futtatása megtörténik, az alábbi értékek egyike visszakerül:
- -1, ha a String1 kisebb, mint a String2;
- 0, ha a String1 és a String2 egyenlő;
- 1, ha a String1 nagyobb, mint a String2.
A fenti listában, szöveges módban két sorozatot hasonlítunk össze: "Default string" és "Default string". Az összehasonlítás eredménye 1, azaz 1. Az "Alapértelmezett karakterlánc" nagyobb, mint az "Alapértelmezett szöveg".
Kísérletezzen a StrComp funkció működésének jobb megismerésére.
InStr funkció
Az InStr funkció lehetővé teszi annak meghatározását, hogy egy sor tartalmaz-e egy másik szöveget.
StrComp ([Start,] String1, String2 [, Összehasonlítás])
String1, String2 - minden érvényes karakterlánc kifejezés. A függvény ellenőrzi, hogy a String1 String2-ben van-e.
Az összehasonlítás egy opcionális argumentum, amely a következő előre definiált konstansok bármelyike lehet (ha kihagyja, az aktuális opció összehasonlítás):
- vbBinaryCompare - két sor bináris összehasonlítása;
- vbTextCompare - két vonal szöveges összehasonlítása;
- vbDatabaseCompare - csak a Microsoft Access programban használható.
A Start egy opcionális argumentum, ez egy numerikus kifejezés, és jelzi a karakter helyét a String1-ben, ahonnan az ellenőrzés megkezdődik.
InStr visszaadott szám jelzi a helyzetét a karakter karakterlánc1, Karakterlánc2 ahol azt találták. Ha InStr nem találja a karakterlánc1 Karakterlánc2, visszatér 0. Ha Karakterlánc1 (vagy Karakterlánc2) egy Null értéket, a függvény is visszaadja, Null.
Szétválaszt egy sort
Néha szükségessé válik a vonal megszakítása az alkotóelemekre. A VBA-ban ezt a feladatot három funkció határozza meg: Bal, Jobb, Mid.
Bal funkció
Balra (karakterlánc, hossz)
String - minden érvényes karakterlánc kifejezés.
A hossza bármilyen numerikus érték.
A függvény visszaküldi a String egy példányát, kezdve az első karakterrel és a Length által meghatározott karakterek számával. Ha a hossza nagyobb, mint a String tényleges hossza, akkor a teljes string kifejezés String visszakerül.
Jobb funkció
Jobb (karakterlánc, hosszúság)
String - minden érvényes karakterlánc kifejezés.
A hossza bármilyen numerikus érték.
A függvény a karakterlánc egy példányát adja vissza, az utolsó karaktertõl kezdõdõen, és a hossza által megadott karakterek számát jobbra-balra. Ha a hossza nagyobb, mint a String tényleges hossza, akkor a teljes string kifejezés String visszakerül. A jobb funkció mindig karaktereket másol a sor végétől a kezdetig.
Középfunkció
Mid (String, Start, [, Length])
String - minden érvényes karakterlánc kifejezés.
Hossz, Start - minden numerikus érték.
A Mid funkció visszaadja a String egy példányát, kezdve a String karakterpozíciójával, amelyet a Start argumentum határoz meg. Az opcionális Hosszú argumentum határozza meg a Mid String-re másolandó karakterek számát. Ha a Start nagyobb számot tartalmaz, mint a String tényleges hossza, üres karakterláncot kapunk.
Olyan szimbólumok, amelyeket a billentyűzetből nem lehet megadni
Gyakran előfordul, hogy be kell írnia egy karaktert, amelyhez nincs billentyű a billentyűzeten (például egy szerzői szimbólum). Másik helyzet, amikor a VBA szolgáltatási szimbólumot be kell vonni a sorba (a leggyakoribb esetben a kettős idézőjelek felvétele).
Olyan karakterek bevitelére, amelyek nem írhatók be a billentyűzetből, vagy amelyeknek különleges jelentése van a VBA-n, a Chr funkciót használják.
A Charcode bármilyen numerikus kifejezés, amely a számítógép által használt karakterkészlet érvényes kódja. Egy 0-tól 255-ig terjedő egész szám legyen.
A Chr függvény egyetlen karakter kódját argumentumként veszi fel, és egy olyan karakterláncot ad vissza, amely tartalmazza a kódnak megfelelő karaktert. Ezt a funkciót használta a fenti listákon egy vonal mozgatására, amikor az üzenet megjelenik a Chr (13) képernyőn.
Mivel a használt karakterek, hogy egy új vonal, nagyon fontosak, ha a formázás üzenetek és egyéb húr adatok manipulált VBA-eljárást, több előre definiált konstansok ezeket a karaktereket, így nem volt szükség a Chr függvény:
- A vbCr a kocsi vissza karakter. A Chr (13)
- A vbLf egysoros offset karakter. A Chr (10)
- A vbCrLf vonalként kocsi vissza + offset karakter. A Chr (13) + Chr (10)
- A vbTab egy lap karakter. A Chr (9)
Adatértékek formázása
Nagyon gyakran, az adatok formátuma a program kimenetén, egyik vagy másik okból, nem elég nekünk. Ezt a feladatot megoldja a Formátum funkció.
A Formázás VBA funkció megegyezik az Excel formátumfunkciójával, és ugyanazt az adatkitöltési helyet használja.
Formátum (Expression [, Formátum [, Firstday of the week [, Firstweekofyear]]])
Expression - bármely érvényes kifejezés (kötelező érv).
Formátum - egy megnevezett vagy felhasználó által megadott formátum érvényes kifejezése.
A hét első napja állandóan meghatározza a hét első napját.
Az elsőéves év egy állandó, amely meghatározza az év első hetét.
A Formázás funkció használatához előre meghatározott formátumot kell megadnia. vagy hozzon létre egy képet egy bizonyos formátumban. helyfoglalók használatával.