Citește online vba pentru manechine cummings steve - rulit - pagina 14

Fig. 3.14. Rularea unui formular personalizat înainte de a adăuga codul

Este timpul să treceți la stadiul cel mai înfricoșător și, în același timp, cel mai fascinant al programării în VBA - crearea codului de program. Permiteți-mi să vă reamintesc că pentru programul nostru trebuie să creați două proceduri și că acestea sunt asociate cu evenimente care apar în timpul executării programului. Prima procedură ar trebui să afișeze mesajul solicitat când formularul apare pe ecran, iar a doua procedură trebuie să pună capăt executării programului atunci când cineva face clic pe butonul OK.







Pentru a imprima codul programului asociat formularului sau unuia dintre comenzile acestuia, trebuie să deschideți fereastra de cod a acestui formular în locul ferestrei de formular. Pentru a face acest lucru, selectați formularul sau comanda din acesta. Pentru butonul OK, acest lucru este mai ușor de făcut, deci de ce să nu începeți cu asta? Faceți clic pe butonul OK pentru a afișa mânerele de redimensionare din jurul acestuia. Acum, pentru a apela fereastra de cod, utilizați oricare dintre următoarele metode.

* Selectați View = Cod din meniu.

* Faceți clic dreapta pe formular și selectați Afișați codul din meniul pop-up care apare.

În fereastra care rezultă din codul programului trebuie să existe deja o procedură de achiziție (Figura 3.15). VBA creează automat o procedură pentru evenimentul folosit în mod frecvent în cazul unui buton - un simplu clic pe buton. Programul dvs. utilizează această procedură când cineva face clic pe butonul OK.

Fig. 3.15. VBA va crea un lot de proceduri de îndată ce deschideți fereastra de cod pentru butonul OK

De fapt, aceste două linii de cod nu fac nimic - definesc pur și simplu un cadru care arată VBA, unde procedura începe și se termină. Prima linie de cod creată pentru dvs. va fi

Private Sub OKButton_Click ()

În orice procedură VBA, prima linie a codului programului determină tipul procedurii (în acest caz rutina .sub, adică subrutina) și numele procedurii. Private și Sub se referă la cuvintele cheie VBA, adică la cuvintele și simbolurile care fac parte din limbajul VBA. Cuvintele cheie au stabilit valori speciale în VBA și nu le puteți folosi ca nume de obiecte, cum ar fi procedurile. Apropo, diferite tipuri de proceduri în VBA sunt discutate în capitolul 6. În acest caz, VBA oferă procedurii denumirea OKButton_Click, care este o combinație a unui nume de buton și a unui tip de eveniment.

Ultima linie de cod generat automat va fi:

O astfel de linie trebuie să se încheie cu toate procedurile de tipul Sub. Această linie îi spune VBA despre asta. că este timpul să finalizați procedura.

Adăugați propriul cod

Cursorul de text va clipi între cele două șiruri VBA create. Prin tastarea unei singure linii suplimentare de cod, vom permite programului să-și finalizeze activitatea. Iată codul:

Instrucțiunea Descărcare elimină obiectul specificat din memorie. Acesta este un obiect cu numele Me, care are un înțeles special în VBA. În acest caz, aceasta înseamnă forma și întregul cod de program.

Corectarea erorilor la introducerea codului de program

Din punct de vedere figurativ, întotdeauna când introduceți codul de program, în spatele dvs. este compilatorul VBA. Dacă compilatorul detectează o eroare evidentă, primiți imediat un mesaj de eroare corespunzător, cel puțin în termeni generali. Să presupunem, de exemplu, că după instrucțiunea Descărcați-mă, ați introdus un caracter suplimentar. Compilatorul VBA știe că Unload Me este o declarație completă și nu ar mai fi nimic altceva în linie după ea.







Odată ce mutați punctul de inserție în linia următoare, compilatorul va înlocui operatorul greșit cu roșu și va selecta un caracter străin. Veți primi, de asemenea, mesajul Compilare eroare. Așteptat: sfârșitul instrucțiunii (Se așteaptă să se termine instrucțiunea).

Compilatorul nu poate detecta toate erorile pe care le-ați făcut la imprimarea unei mize software. Când rulați programul, compilatorul va detecta alte erori, dar le vom vorbi puțin mai târziu.

A doua procedură, care ar trebui să afișeze un mesaj pe ecran, este puțin mai complicată decât prima. Această procedură trebuie apelată atunci când formularul apare pe ecran. În fereastra de cod pe care trebuie să o păstrați activă, urmați acești pași.

1. În caseta text din stânga sus a ferestrei cu codul de program, în care a fost scris OKButton până acum, faceți clic pe săgeata din capătul din dreapta al câmpului.

Apoi, o listă de obiecte legate de formular se va deschide (Figura 3.16).

Fig. 3.16. Lista verticală de obiecte afișează obiectele legate de forma la care aparține această fereastră de cod

2. Selectați UserForm din lista derulantă.

VBA va crea o nouă procedură pentru evenimentul Click. Această procedură va fi apelată dacă utilizatorul programului dvs. face clic pe mouse-ul oriunde în fermă unde nu există controale. Programul nostru cu dvs. această procedură nu este necesar, deci pentru moment, lăsați-l.

3. Faceți clic pe săgeata de la sfârșitul căsuței de text din dreapta pentru a deschide lista de proceduri în care vor fi listate toate evenimentele pe care VBA le recunoaște pentru obiectul UserForm.

Această listă este destul de mare, ceea ce vă oferă posibilitatea de a face programul dvs. cât mai sensibil (Figura 3.17).

Fig. 3.17. Lista de proceduri conține evenimentele care vor fi pentru obiectul curent activ

4. Selectați Activare - primul element din listă. Pentru a vedea acest element, va trebui să parcurgeți lista.

VBA creează cu fidelitate o procedură de achiziție UserForm_Activate, care se numește atunci când formularul este încărcat în memorie.

5. Dacă sunteți deranjat de procedura goală UserForm_Click, ștergeți-o, subliniind tot textul și apăsând tasta Del.

Acest pas nu este necesar - codul de program corespunzător nu va face nici un rău. Dar datorită faptului că acest cod de program nu face nimic util, ci doar distrage atenția, puteți întrerupe în siguranță viața sa singură.

Întrucât procedura de achiziție, în acest caz, ca întotdeauna, este creată automat, vă puteți concentra imediat asupra umplerii acesteia. Între liniile pe care VBA le-a oferit cu amabilitate, tastați încă trei linii de cod. Rezultatul ar trebui să arate astfel:

Dim Quote Ca String Citat = Nu repeta acest lucru niciodata:

lblNow.Caption = Formatul citării (Acum, dddddd, hh ore mm min.)

Prima linie pe care ai scris-o

Dim Citat Ca String

creează o variabilă numită Pret și o definește ca un șir, ceea ce înseamnă o secvență de caractere text.

Citat = Aceasta nu se repeta niciodata:

salvează textul Nu se mai întâmplă din nou: în Citat creat. La fel ca în lecțiile de algebră la școală, folosiți semnul egal aici pentru a atribui o anumită valoare unei variabile. Rețineți că VBA are un spațiu înainte de închiderea citatelor pentru a separa textul mesajului de textul care urmează.

lblNow.Caption = Formatul citării (Acum, dddddd, hh ore mm min.)

conține codul de program, care afișează direct mesajul dorit în formular. Această linie începe cu identificarea controlului numit lblNow ca obiect cu care rulează. După nume există un punct, ceea ce înseamnă că proprietatea următoare a obiectului lblNow - în acest caz, această proprietate este Caption. În general, orice proprietate este ca o variabilă și poate fi modificată în timpul rulării. Prin urmare, pentru a modifica setările proprietății, codul de egalitate este utilizat în cod. Restul liniei definesc un mesaj care trebuie să apară pe ecran sub forma unei inscripții.

Prima parte a mesajului este variabila Citat. Următorul semn "plus" îl instruiește pe VBA să adauge ceea ce urmează, la textul stocat în variabila Citat. În paranteze, funcția Now indică VBA că trebuie să rulați și să aflați citirile curente ale ceasului computerului care contează în mod constant data și ora. Apoi, funcția Format primește această informație primă și o prezintă într-o formă pe care o puteți citi. Un set ciudat de scrisori în citate determină doar coarnele de la data și ora de pe ecran, dar aici nu voi intra în explicații detaliate despre asta - veți găsi informații detaliate în capitolul 11.







Articole similare

Trimiteți-le prietenilor: