Opcionális argumentumok a vba funkciókhoz

Opcionális argumentum típus megadása

A függvények helyes használatához és azoknak az operátoroknak a felismeréséhez, amelyek a funkciókat hibás értékekre adják, az opcionális argumentum típusát deklarálják (különben Variant típusúak). Az opcionális argumentum típusát ugyanúgy deklaráljuk, mint a kötelező argumentumtípust - az As kulcsszó használatával:







Funkció NameFunct (tStr mint karakterlánc, opcionális neobArgument mint egész) mint string

Az opcionális argumentumok alapértelmezett értékei

Megadhatja a VBA-t, hogy beállíthatja az opcionális argumentumot az alapértelmezett értékhez. A VBA az alapértelmezett értéket minden alkalommal használja, amikor egy függvényt hívnak, anélkül, hogy ez az opcionális argumentum lenne benne.

Funkció GetBookName (Opcionális lDflt As String = "Book1") Stringként

Érvek átadása

Kétféleképpen lehet információt továbbítani egy eljárásfunkcióra: referencia (alapértelmezés szerint) és érték szerint.

Ez azt jelenti, hogy ha a függvény bármely argumentumban megváltoztatja az értéket, akkor az eredeti adatok is megváltoznak.

Amikor egy argumentumot átad egy értéknek, a VBA az eredeti adatok egy példányát készítette el, és átadja a funkciónak ezt a másolatát. Ha a függvény az értéken átadott argumentum értékét megváltoztatja, csak az adatok másolatát módosítja, és az eredeti adatokat nem változtatja meg.







Opcionális argumentumok a vba funkciókhoz

mert a hivatkozás alapján történő átkapcsolás lehetővé teszi, hogy a függvény megváltoztassa az érvei bemeneti adatainak értékét, a referenciákon átadott érvek nemkívánatos mellékértékeket kaphatnak.

A fenti felsorolás azt mutatja, hogy az Argument funkció használata előtt az s1 string változó szöveges karakterláncot tartalmaz kis betűkkel, és a függvény alkalmazásakor már tartalmazza a nagybetűs stringet.

Szigorúan a mellékhatások opcionálisak és a legtöbb esetben nemkívánatosak. Az ilyen mellékhatások megelőzése érdekében a függvénynek az argumentum értékének másolatával kell dolgoznia, és nem az eredeti adatokkal.

Ha kifejezetten meg szeretné adni, hogy a VBA értékeit vagy hivatkozásait értékenként vagy hivatkozásként adja át, akkor a ByVal, ByRef kulcsszavakat kell használnia azon argumentum előtt, amelyhez az átviteli módot meg kívánja adni.

Opcionális argumentumok a vba funkciókhoz

Értesítenie kell a ByVal kulcsszavával kapcsolatos érvelést annak érték szerinti átadásához, ha kétségei merülnek fel arra vonatkozóan, hogy ezt a konkrét érvet át kell-e adni referenciaként vagy értékenként.




Kapcsolódó cikkek