NyilatkozatExplicit lehetőség a kódmodul tetején azt mondja a VBA -nak, hogy megköveteli, hogy deklarálja a kódban használt összes változót. Ha ezt a parancsot kihagyja, használhat olyan változókat, amelyeket nem deklarált. Javasoljuk, hogy használja a Option Explicit -et a modul tetején, mivel ez segít elkerülni a változók félreírását.
VBA -változók használata Option Explicit nélkül
Először akkor mutatjuk be a kód példáját, ha nincs Option Explicit parancs. Itt a kód:
123456789 | Privát alpéldaWOOptionExplicit ()Dim strTextA karakterlánckéntstrTextA = "VBA tesztelése Explicit opció nélkül"MsgBox strTextAEnd Sub |
A példában az eljárás első sorában deklaráltuk az strTextA változót, és hozzárendeltük a szöveget. Ezt követően szeretnénk visszaadni az üzenetdobozt a (z) értékkel strTextA. Íme az eredmény a kód futtatásakor:
1. kép. Az Explicit opció nélküli kód
Amint az 1. képen látható, a kód végrehajtása sikeres volt. Az üzenetmező a következő értékkel: strTextA megjelent, annak ellenére, hogy nem deklaráltuk a változót strTextA. Itt nincs probléma a kóddal, de mi van, ha rosszul írtuk be a változó nevét:
1 | MsgBox strTxtA |
Itt strTxtA -t írtunk („e” nélkül) az strTextA helyett. Ennek eredményeként üres üzenőmezőt kapunk, mivel az strTxtA változó nincs definiálva. Most látni fogjuk, hogyan kell használni az Option Explicit programot a hibák megelőzésére.
A változók használata az Explicit opcióval
Ha meg akarja akadályozni a deklarálatlan változók használatát, be kell írniaExplicit lehetőség a modul tetején:
1 | Explicit lehetőség |
Itt a teljes kód, beleértve a helyesírási hibát:
12345678910 | Explicit lehetőségPrivát alpéldaWithOptionExplicit ()Dim strTextA karakterlánckéntstrTextA = "VBA tesztelése Explicit opció nélkül"MsgBox strTxtAEnd Sub |
Nézzük meg, mi történik, ha futtatjuk a kódot:
2. kép. A kód az Explicit opcióval
Ennek eredményeként a „Változó nincs definiálva” hibát kapjuk, mert nem deklaráltuk astrTxtA változó.
Az Option Explicit hozzáadása a kódmodulok tetejéhez segít megelőzni a hibásan beírt változók hibáit.
Ha többet szeretne megtudni a VBA egyéb VBA-lehetőségeiről, ismerje meg a VBA kis- és nagybetűk megkülönböztetésének megszüntetését: A VBA kis- és nagybetűk megkülönböztetésének megakadályozása