VBA-procedura de rutina

Puteți simplifica programarea prin spargerea sarcinii în componente logice mai mici. Aceste componente, proceduri cunoscute pot deveni, ulterior, cărămizile care vor consolida și extinde VBA.

două avantaje majore pot fi identificate atunci când se programează cu proceduri:

Procedurile permit programului să pătrundă într-un număr finit de unități logice, fiecare dintre acestea este mai ușor pentru a depana decât întregul program fără proceduri

Procedurile dezvoltate pentru un singur program poate acționa ca blocuri de construcție pentru alte programe, de obicei, cu modificări minore sau nu au

În VBA utilizează mai multe tipuri de proceduri:

Procedura secundară (nu returnează valori)

Procedura de funcții (valori de retur)

Procedurile de proprietate (și poate reveni la atribui valori), precum și să stabilească legături cu obiecte.

Sintaxa procedură secundară este următoarea:

Atunci când procedurile de asteptare sunt efectuate între operatori și cuvântul cheie Sub End Sub. Proceduri Sub pot fi plasate în module standard, module de clasă, și forme. Procedurile Sub Implicit în toate modulele au un atribut public, ceea ce înseamnă că acestea pot fi apelate din orice spațiu aplicație.

Procedura generală spune aplicarea modul de a îndeplini o sarcină specifică. Odată definit, ar trebui să fie de fiecare dată în mod specific pentru aplicația apelantă. În schimb, procedura de prelucrare a evenimentelor după un apel este în starea de repaus a evenimentelor cauzate de către utilizator sau de sistem inițiat.

De ce avem nevoie pentru a crea proceduri generale? Unul dintre motive este faptul că mai multe proceduri diferite evenimente de manipulare pot fi necesare pentru a efectua aceeași acțiune. Declarații generale sunt plasate într-o procedură separată (o procedură generală), cât și în procedura de eveniment pentru a plasa un apel la această procedură. Acest lucru elimină cod duplicarea și face mai ușor pentru a sprijini cererea.

Crearea de noi proceduri

Pentru a crea o nouă proceduri comune ar trebui să fie în fereastra de cod pentru a introduce procedura de antet și apăsați Enter. Titlul procedurii constă în cuvântul Sub sau Function, urmat de numele procedurii. De exemplu:

„Există o procedură generală poate fi văzută prin selectarea elementului (general) din lista de obiecte în fereastra de cod, și apoi procesa lista de procedură“, a procedurii de eveniment existent poate fi văzută prin selectarea obiectului din lista de obiecte în fereastra de cod, și apoi urmați procedura din lista de procedură

2. Selectați proiectul din / lista Proiectului Biblioteca (Project / Library).

3. Selectați modulul din lista de clase (clasele) și o procedură în lista membrilor (membri).

4. Selectați opțiunea Vizualizare Definiție (vezi definiția).

Apelarea procedurilor Sub

Procedura Sub diferă de la o procedură de funcții în care aceasta nu poate fi numit după nume în declarație. Chemarea ei este făcută într-o declarație separată. De asemenea, procedura de sub, spre deosebire de funcții care nu returnează o valoare. Cu toate acestea, ca o funcție, aceasta se poate schimba valorile tuturor variabilelor transmise acestuia ca parametri.

Există două modalități de a apela procedura de sub - utilizând apelul de cuvinte cheie și fără ea:

„Ambele declarații numesc o procedură sub numele de MuRgos.

Call MuRgos (FirstArgument, SecondArgument)

MuRgos FirstArgument, SecondArgument

Rețineți că, în prezența cuvântului cheie apel, parametrii din paranteze. În cazul în care cuvântul cheie de apel este omisă, ar trebui să fie eliminată, iar între paranteze lista de parametri.

Apelarea procedurilor din alte module

Procedurile care sunt în alte module pot fi apelate de pe orice site-ul proiectului. Poate fi necesar să specificați modulul care conține procedura numita. Cum de a apela procedurile publice sunt variate și depind de locul în care procedura este - în modulul de forma, clasa sau modul standard de.

Proceduri în forme

Pentru a apela procedura într-o unitate externă, adică, în care nu în unitatea, care este codul de la care trebuie să fie indicat apelul la procedura înainte de numele procedurii numele modulului care conține codul de procedură. De exemplu, în cazul în care codul este o procedură numită SomeSub este în modulul de formă, numit Form1, procedura poate provoca următoarea declarație:

Proceduri în module standard

Procedura este unică în cazul în care este definit doar într-un singur loc.

Dacă numele procedură este unic, atunci include numele modulului în apelul nu este o procedură obligatorie. Procedurile apeluri externe sau interne se va referi la un nume unic.

În cazul în care două sau mai multe module conțin o procedură cu același nume, atunci când apelați aceste proceduri, trebuie să le specificați cu numele modulului corespunzător. Procedura generală de apel din modulul care îl conține, începe acest modul procedură. De exemplu, în cazul în care există o procedură numită COMMONNAME în modulul Module1, iar în modulul Module2, apelul COMMONNAME de la Module2 modul de lansare modul de procedură Module2 COMMONNAME și nu procedura modulul COMMONNAME Module1.

Apelați procedura generală de la un alt modul trebuie să specifice modul în care procedura este. De exemplu, apela o procedură numită modulul commonName Module2 modulului Module1 după cum urmează: