IzjavaMožnost izrecno na vrhu vašega kodnega modula pove VBA, naj zahteva, da deklarirate vse spremenljivke, ki jih uporabljate v kodi. Če je ta ukaz izpuščen, lahko uporabite spremenljivke, ki jih niste deklarirali. Priporočamo uporabo možnosti Explicit na vrhu modula, saj se tako izognete napačnemu vpisu spremenljivk.
Uporaba spremenljivk VBA brez možnosti Explicit
Najprej bomo prikazali primer kode, ko ni ukaza Option Explicit. Tukaj je koda:
123456789 | Zasebni podprimer Primer WOOptionExplicit ()Zatemni strTextA kot nizstrTextA = "Testiranje VBA brez izrecne možnosti"MsgBox strTextAEnd Sub |
V tem primeru smo spremenljivko strTextA razglasili v prvi vrstici postopka in ji dodelili besedilo. Po tem želimo vrniti sporočilo z vrednostjo strTextA. Tukaj je rezultat, ko zaženemo kodo:
Slika 1. Koda brez možnosti Explicit
Kot lahko vidite na sliki 1, je koda uspešno izvedena. Sporočilo z vrednostjo od strTextA pojavil, čeprav nismo razglasili spremenljivke strTextA. Tu s kodo ni težav, kaj pa, če bi ime spremenljivke napačno črkovali:
1 | MsgBox strTxtA |
Tu smo namesto strTextA napisali strTxtA (brez "e"). Posledično dobimo prazno polje s sporočilom, ker spremenljivka strTxtA ni bila definirana. Zdaj bomo videli, kako uporabiti Option Explicit za preprečevanje napak.
Uporaba spremenljivk z možnostjo Explicit
Če želite preprečiti uporabo spremenljivk, ki niso deklarirane, morate vnestiMožnost izrecno na vrhu modula:
1 | Možnost izrecno |
Tu je celotna koda, vključno z napako:
12345678910 | Možnost izrecnoZasebni pod -primerWithOptionExplicit ()Zatemni strTextA kot nizstrTextA = "Testiranje VBA brez izrecne možnosti"MsgBox strTxtAEnd Sub |
Poglejmo, kaj se zgodi, če zaženemo kodo:
Slika 2. Koda z možnostjo Explicit
Posledično dobimo napako »Spremenljivka ni definirana«, ker datoteke nismo razglasilistrTxtA spremenljivka.
Dodajanje možnosti Explicit na vrhu kodnih modulov pomaga preprečiti napake pri napačno črkovanih spremenljivkah.
Če želite izvedeti več o drugih možnostih VBA VBA, se naučite, kako narediti VBA neobčutljivo na velike in male črke: Preprečite VBA, občutljivo na velike in male črke