Lucrul cu enumerări

În plus față de constantele care pot fi create în cod, VBA include seturi de constante predefinite. O enumerare este o listă predefinită de numere întregi care au nume individuale. Este un set de elemente, legate într-un anumit fel.

Iată o enumerare, un set de elemente cu care se pictează o cameră. De reținut că un alt mod de a descrie acest lucru este o listă numerotată:

    1. Perii
    2. Vopsea
    3. Bandă de mascare
    4. Cârpe

Apoi se poate referire la oricare dintre aceste elemente folosind fie prin numărul de ordine, fie prin numele lor.

În programare, enumerarea este folosită de obicei pentru a specifica o proprietate a unui obiect. Fiecare număr întreg din enumerare are un înțeles pentru VBA și un nume care permite să se facă referire la el. Numele care corespunde numerelor din enumerare se numesc constante enumerate.

De exemplu, când se folosește funcția MsgBox din VBA pentru a afișa o casetă de mesaje, se poate alege una dintre constantele enumerate în enumerarea VbMsgBoxStyle pentru a specifica tipul casetei de mesaje care va fi afișată.

Pentru a folosi o pictogramă în caseta de mesaje, ea se poate specifica din lista de pictograme încorporate.

De exemplu, pictograma cu semnul Stop este constanta enumerată vbCritical (sau numărul 16). Folosind VbQuestion (numărul 32) se afișează o pictogramă cu semnul întrebării, iar cu vbExclamation (48) se afișează o semnul exclamării. VbInformation (64) se referă la o pictogramă pentru informații.

Însă în practică, numerele întregi sunt utilizate rar. Constantele enumerate (numele precum vbQuestion) sunt mult mai ușor de înțeles de către oameni, de citit și de amintit comparativ cu valorile corespunzătoare (numerele întregi ca 16, 32, 64 etc.). Deci, deși se pot folosi numere întregi în cod, se preferă folosirea de constantele enumerate, cum ar fi vbQuestion.

VBA include numeroase enumerări încorporate, iar Visual Basic Editor afișează lista constantelor enumerate disponibile pentru a ajuta la alegerea valorii corespunzătoare. Pentru a vedea o astfel de listă, se tastează într-o procedură:

msgbox("Test",

După tastarea virgulei, VB afișează lista cu constante enumerate, toate stilurile de butoane valabile pentru caseta de mesaje, inclusiv vbQuestion, vbYesNo, vbOKOnly și altele. Stilul vbOKOnly afișează doar butonul OK. Stilul vbYesNo afișează două butoane: Yes și No.

Pentru a le introduce în cod, se face clic pe unul dintre aceste stiluri de butoane din lista constantelor enumerate. Dacă lista nu este afișată, în Tools > Options din Editorul Visual Basic se bifează caseta de validare Auto List Members.

De asemenea, se pot defini propriile enumerări în obiectele personalizate create.