TOP

VBA-Lecția 12.1. Formulare utilizator (UserForm)

Un obiect UserForm este o fereastră sau o casetă de dialog care face parte din interfața cu utilizatorul unei aplicații.

UserForm vă permite să creați ferestre sau casete de dialog în proiectul dvs. Pe formular, desenați și puteți vedea controalele.

Formele de utilizator au proprietăți care le definesc aspectul, cum ar fi poziția, dimensiunea, culoarea și aspectele comportamentului lor.

La dezvoltarea formularului:

  • Fiecare fereastră de formular are butoanele Minimizare, Extindere și Închidere.
  • Puteți vizualiza grila de formă și dimensiunea liniilor grilei în fila General a casetei de dialog Opțiuni.
  • Utilizați butoanele din bara de instrumente pentru a desena controale pe formular. În fila General a casetei de dialog Opțiuni, puteți personaliza controalele pentru a se alinia cu grila formularului.

  • Creați formular (UserForm)

    Pentru a adăuga UserForm trebuie să facem același lucru când adăugăm un modul nou:

    După aceea, vor apărea formularul (UserForm) și bara de instrumente (Toolbox):

    Dacă nu vedeți fereastra Proprietăți (Properties), asigurați-vă că este afișată și apoi începeți prin a edita numele UserForm (pentru a o găsi cu ușurință mai târziu):

    Un formular (UserForm) are propriile evenimente, la fel ca un registru de lucru sau o foaie. Pentru a adăuga un eveniment, faceți dublu clic pe UserForm.

    Acum să creăm două evenimente pentru a vedea cum funcționează. Primul eveniment va seta dimensiunea inițială a lui UserForm, iar al doilea își va crește dimensiunea cu 50px când utilizatorul face clic.

    Evenimentul UserForm_Initialize se va declanșa când pornește UserForm:

    Private Sub UserForm_Initialize()
        my_userform.Height = 100
        my_userform.Width  = 100
    End Sub
    

    Pentru a simplifica codul, putem folosi Me în loc de numele UserForm (deoarece acest cod se află în UserForm cu care lucrăm):

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    

    Al doilea eveniment va avea loc atunci când utilizatorul face clic pe UserForm:

    Private Sub UserForm_Initialize()
        Me.Height = 100
        Me.Width  = 100
    End Sub
    
    Private Sub UserForm_Click()
        Me.Height = Me.Height + 50
        Me.Width  = Me.Width + 50
    End Sub
    

    Formular de lansare (UserForm)

    Pentru a rula UserForm într-o procedură, utilizați Show:

    Sub show_userform()
         my_userform.Show
    End Sub