Până în prezent, au fost utilizate casete de dialog care sunt construite în VBA, și anume funcțiile MsgBox și InputBox. Cu toate că MsgBox și InputBox oferă programelor flexibilitatea pe care numai programele interactive le pot avea, capacitățile lor sunt într-o anumită măsură limitate. Atunci când dezvoltați programe mai complexe, este posibil să fie necesar să afișați casete de dialog care permit utilizatorilor de programe să stabilească mai multe opțiuni folosind o casetă de dialog, să selecteze elemente din listă sau să introducă mai multe valori într-o singură fereastră. Deseori, în loc de ferestre încorporate care aparțin Excel, există nevoie, se utilizează casete de dialog, se creează date specifice pentru programul dezvoltat.
VBA vă permite să creați și să aplicați casete de dialog personalizate în programe și proceduri scrise prin adăugarea unui obiect UserForm la proiect. Utilizând formularele de utilizator VBA (VBA User Forms), puteți crea casete de dialog pentru transmiterea de date sau obținerea de valori de la utilizatorul programului în forma cerută de program. De exemplu, puteți afișa o casetă de dialog cu o listă de opțiuni de format diferit de dată și permite utilizatorului să selecteze unul dintre formatele din listă.
Feretele de dialog permit programului să comunice cu utilizatorul în modul cel mai convenabil, oferind o formă flexibilă de intrare și ieșire a datelor.
Formularul utilizatorului UserForm oferă utilizatorului posibilitatea de a crea casete de dialog pentru aplicațiile dezvoltate. Acesta servește drept bază pentru o casetă de dialog definită de utilizator, pe care sunt amplasate comenzile în funcție de sarcina rezolvată.
O casetă de dialog în VBA este creată prin adăugarea unui obiect UserForm la proiect. Obiectul UserForm este o casetă de dialog goală. Puteți personaliza caseta de dialog prin adăugarea comenzilor Object UserForm (de obicei numite simple forme). Fiecare obiect UserForm are anumite proprietăți, metode și evenimente pe care le moștenește din clasa obiectului UserForm. Fiecare obiect UserForm include de asemenea un modul de clasă. în care puteți adăuga propriile metode și proprietăți sau codul de procesare a evenimentului pentru formular.
Primul pas în crearea unui dialog personalizat este adăugarea unui proiect nou (obiectul UserForm) la proiect. Formularul conține un spațiu de lucru în care puteți plasa elementele necesare pentru a efectua un dialog de utilizator cu aplicația.
În Fig. Figura 9.9 prezintă formularul UserForm adăugat la proiect. Un cadru larg în jurul formularului indică faptul că forma este selectată. O grilă de puncte de pe suprafața formei ajută la alinierea și controlul mărimii comenzilor plasate pe formular și apare numai în modul de proiectare. Panoul de elemente este o "paletă", cu care puteți selecta comenzile și le puteți adăuga în formular
Obiectul UserForm poate fi redenumit în același mod ca un modul standard sau un modul de clasă. Pentru a face acest lucru, în fereastra Proprietăți (fereastra de proprietăți), trebuie să editați proprietatea (Nume) și Captionul acestui obiect.
Fig. 9.9. New UserForm în modul de dezvoltare
Fig. 9.10. New UserForm în modul de pornire