DeklarēšanaSkaidrs variants koda moduļa augšpusē norāda VBA pieprasīt, lai jūs deklarētu visus mainīgos, kurus izmantojat kodā. Ja šī komanda tiek izlaista, varat izmantot mainīgos, kurus neesat deklarējis. Mēs iesakām izmantot opciju Explicit moduļa augšpusē, jo tas palīdz izvairīties no mainīgo kļūdainas ierakstīšanas.
Izmantojot VBA mainīgos bez opcijas Explicit
Vispirms mēs parādīsim koda piemēru, ja nav komandas Explicit. Šeit ir kods:
123456789 | Privāts apakšparaugsWOOptionExplicit ()Dim strTextA kā virknestrTextA = "VBA pārbaude bez skaidras opcijas"MsgBox strTextABeigu apakš |
Piemērā procedūras pirmajā rindā deklarējām mainīgo strTextA un piešķīrām tam tekstu. Pēc tam mēs vēlamies atgriezt ziņojumu lodziņu ar vērtību strTextA. Šeit ir rezultāts, kad mēs izpildām kodu:
Attēls 1. Kods bez opcijas Explicit
Kā redzams 1. attēlā, kods ir veiksmīgi izpildīts. Ziņojumu lodziņš ar vērtību no strTextA parādījās, lai gan mēs neesam deklarējuši mainīgo strTextA. Šeit nav problēmu ar kodu, bet ko darīt, ja mēs būtu nepareizi uzrakstījis mainīgā nosaukumu:
1 | MsgBox strTxtA |
Šeit mēs rakstījām strTxtA (bez “e”), nevis strTextA. Rezultātā mēs iegūstam tukšu ziņojumu lodziņu, jo mainīgais strTxtA netika definēts. Tagad mēs redzēsim, kā izmantot opciju Explicit, lai novērstu kļūdas.
Mainīgo izmantošana ar opciju Explicit
Ja vēlaties neļaut izmantot mainīgos, kas nav deklarēti, tas ir jāievadaSkaidrs variants moduļa augšdaļā:
1 | Skaidrs variants |
Šeit ir pilns kods, ieskaitot drukas kļūdu:
12345678910 | Skaidrs variantsPrivāts apakšparaugsWithOptionExplicit ()Dim strTextA kā virknestrTextA = "VBA pārbaude bez skaidras opcijas"MsgBox strTxtABeigu apakš |
Redzēsim, kas notiek, ja mēs izpildām kodu:
2. attēls. Kods ar opciju Explicit
Rezultātā mēs saņemam kļūdu “Mainīgais nav definēts”, jo mēs neesam deklarējušistrTxtA mainīgais.
Opcijas Explicit pievienošana koda moduļu augšpusē palīdz novērst kļūdas, ko rada nepareizi uzrakstīti mainīgie.
Ja vēlaties uzzināt vairāk par VBA citām VBA iespējām, uzziniet, kā padarīt VBA reģistrjutīgu: neļaut reģistrēt VBA reģistrjutību