Macrourile se deschid automat când se deschide sau se închide registrul de lucru Excel

Cum pot porni o macrocomandă la deschiderea sau închiderea unui registru de lucru Excel?

Uneori trebuie să efectuați anumite acțiuni sau calcule la pornirea unui registru de lucru în Excel. În acest articol, să aruncăm o privire la un exemplu de solicitare a unei parole simple, cum este implementat autorunul macro în Excel.






Vreau să rețin imediat că macroul se va executa numai dacă nivelul de securitate scăzut sau mediu este selectat în setările de securitate (Service - Macro - Security). La un nivel mediu, utilizatorul nu ar trebui să dezactiveze macrocomenzi atunci când vi se solicită.

Deci, Excel se execută, cartea este creată, VBE este deschisă (Alt + F11).

În fereastra Project Explorer (Ctrl + R) găsim cartea noastră

Macrourile se deschid automat când se deschide sau se închide registrul de lucru Excel

în cazul meu, aceasta este Book2. Extindeți grupul de obiecte "Obiecte Microsoft Excel" și găsiți obiectul "Această carte"

Macrourile se deschid automat când se deschide sau se închide registrul de lucru Excel






Acum creați un formular în cartea noastră (cum să citiți aici). Pe formular se adaugă două butoane (CommandButton) și TextBox. Vederea aproximativă este după cum urmează:

Macrourile se deschid automat când se deschide sau se închide registrul de lucru Excel

Acest formular va apărea când deschideți o carte în care utilizatorul trebuie să introducă o parolă.
Intrarea parolei este întotdeauna ascunsă de asteriscuri, puncte etc. Vom face același lucru. Pentru a face acest lucru, selectați TextBox și în proprietățile sale (fereastra Proprietăți) găsiți elementul PasswordChar. În valoarea sa puteți pune orice caracter, aceste caractere vor fi afișate când tastați. Nu vom pleca de la tradiții, vom pune un semn "asteriscuri"

Macrourile se deschid automat când se deschide sau se închide registrul de lucru Excel

Codul pentru butonul "Continuare" este următorul:

Private Sub CommandButton1_Click ()
Dacă TextBox1.Text = "123" Apoi UserForm1.Hide _
Else MsgBox "Ați introdus o parolă incorectă! Încercați din nou."
End Sub

KDEboroda (nu este verificată)

Salutări.
Acesta este derivat pentru un exemplu. ) Dar este destul de posibil să complicăm lucrurile, de exemplu, facem toate foile ascunse (prin proprietățile VBA!), Și lăsăm o foaie ca un gol. Macro-ul când introduceți parola corectă va deschide aceste foi și va ascunde manechinul. Și aici, dacă întrerupeți macrocomenzile, utilizatorul vede numai o foaie goală, altele se pot reflecta numai prin VBA (prin metode standard de reflexie a foii nu sunt vizibile). Desigur, există și nansas, dar cercul meșterilor va scădea semnificativ :)







Trimiteți-le prietenilor: