Cunoaște Intuit, curs, proceduri și funcții
Rezumat: Descrierea și procedurile de creare. Procedurile de clasificare. Sintaxa procedurilor și funcțiilor. Funcții cu efecte secundare. Creați proceduri de eveniment. Procedura Sub apeluri. Funcția apeluri. Folosind argumente numite. Argumentele care sunt matrice. Problema mediana. Funcțiile definite de utilizator care acceptă complex obiect Range. Procedura de recursive. Căutare Copaci: Clasa TreeNode; Clasa BinTree; Lucrul cu un dicționar.
Descriere și proceduri de creare
Procedură (funcția) - o unitate de software de VBA. care cuprinde operatorii care descriu datele sale locale și declarații executabile. Procedura de obicei, combinate efectuate în mod regulat de către fluxul de lucru sarcina separată crucială sau subactivitatea. Particularitatea procedurilor VBA în faptul că lucrează într-un mediu puternic de Office 97 și poate fi folosit ca o acțiune elementară a unui număr mare de metode și funcții încorporate care funcționează pe o varietate de obiecte ale sistemului. Prin urmare, procedurile de solicitare a cadrului tipic de management al sistemului de birou este destul de simplu: ea constă dintr-o secvență de apeluri la procedurile memorate și funcțiile controlate de un număr mic de declarații condiționale și bucle. Dimensiunea acesteia nu trebuie să depășească câteva zeci de rânduri. În cazul în care procedura de câteva sute de linii, este probabil să însemne că procedura problemă rezolvată poate fi împărțită în mai multe independente subactivități pentru a aborda fiecare dintre ele ar trebui să scrie o procedură separată. Acest lucru va facilita înțelegerea programului și depanare acestuia. Desigur, aceste comentarii sunt caracter metodologic informal, pentru că VBA nu limitează mărimea oricărei proceduri sau complexitatea structurii sale de management.
Procedurile de clasificare
Procedurile VBA pot fi clasificate în funcție de mai multe criterii: metoda de utilizare (apel) în programul condus de metoda pentru a efectua procedura, în conformitate cu procesul de creare a codului de procedură, pe baza procedurii de proiectare codul de locație.
Procedurile VBA sunt subdivizate în subrutine și funcții. Prima descrie Sub cuvinte cheie. al doilea - Funcția. Noi foarte rar utilizați de rutină cuvânt, tipic VBA, și în loc să utilizeze procedura pe termen mai frecvente în programare. Uneori, însă, aceasta poate duce la confuzie, deoarece, în funcție de contextul unei proceduri este definit ca o subrutină sau funcție. Diferența dintre aceste tipuri de proceduri, mai degrabă sintactice, așa cum de a converti un tip de procedură la procedura echivalentă a unei alte specii, nu este dificil. In C / C ++, după cum știți, există doar o funcție și nu există proceduri, cel puțin formal.
Conform metodei de creare a unui cod de procedură sunt împărțite în ordinare, dezvoltat de „manual“, iar codul de procedură care este generat automat generatorul macro (MacroRecoder); acestea sunt, de asemenea numite proceduri macro-comandă sau proceduri din cauza codului lor - o secvență de apeluri către aplicația Office corespunzătoare comenzi 97. Și această diviziune este într-o anumită măsură arbitrară, deoarece procedurile destul de tipice, cadre care creează un generator macro, apoi modificați și adaugă manual.
Prin metoda procedurilor de lansare pentru executarea poate fi izolat într-un grup separat de proceduri care se execută automat la apariția unui eveniment - noi le numim proceduri eveniment de manipulare.
Cu privire la situația proiectului proceduri diferite sunt în unități de program speciale - module standard, module, clase și module asociate cu obiecte care răspund la evenimente.
Un alt tip special de proceduri - proceduri, proprietăți de proprietate Let. Set de proprietăți și proprietate Get. Acestea sunt utilizate pentru stabilirea și obținerea valorilor proprietăților de clasă închisă.
Sintaxa procedurilor și funcțiilor
Descriere Procedurile Sub în VBA este după cum urmează.
Considerăm în detaliu structura unei variabile din lista de argumente.
Sintaxa pentru definirea procedurilor, funcționează similar cu definirea procedurilor normale:
Aici, partea stângă a operatorului ar trebui să funcționeze numele, precum și dreptul - expresia care definește rezultatul funcțiilor de calcul. Dacă în cazul în care funcția este în mod clar numele valorii variabilei nu este atribuită, funcția returnează valoarea tipului corespunzător, definit în mod implicit. Pentru tipul numeric este 0 pentru linii - șir de lungime zero ( „“) pentru tipul de retur funcției valoare Varianta goală. pentru referințe la obiecte - Nimic.
Pentru a termina imediat funcția de calcul și a ieși din ea, poate fi utilizat în corpul operatorului:
Diferența principală dintre procedurile funcțiilor este în procesul de utilizare a acestora în cadrul programului de asteptare. Funcția următoare returnează argumentul Cube, puterea a treia: