Programarea în echipă și OOP

VBA este folosit de către programatori individuali, precum și de echipe. OOP poate oferi câteva avantaje speciale atunci când se încearcă gestionarea unui grup de programatori care lucrează împreună la o soluție VBA complexă. OOP-ul poate ajuta la evitarea trecerii peste numele de variabile globale ale copiilor, la crearea problemelor de versiune și asa mai departe.

Programarea în grup necesită gestionare, iar OOP, printre alte avantaje, ajută la evitarea haosului când o echipă trebuie să colaboreze la un obiectiv comun.

O caracteristică a OOP este încapsularea. Aceasta înseamnă că un obiect este autonom și izolat. Este ca o așa-numită "cutie neagră" pe care o conectați la sistemul dvs. video pentru a îmbunătăți imaginea. Nu se deschide cutia. Nimeni nu trebuie să modifice ceea ce conține ea. Pur și simplu se folosește.

De exemplu, dacă șeful dorește ca de acum înainte, în toate documentele, numele companiei să fie subliniat. Sandra preia sarcina de a crea un obiect care ar trebui să modifice în scris înclinat și să valorifice toate referirile la ACME WINDOWORKS în toate documentele companiei. Joe va creea un obiect care să asigure faptul că orice utilizare a denumirii companiei este afișată în verde, nu cu litere negre. (În realitate, aceste manipulări simple pot fi codificate în funcții, în loc de obiecte. Obiectele pot efectua mai multe lucrări similare, dar acesta este doar un exemplu.)

Când acest cod este încapsulat în obiecte sigilate, nimeni nu trebuie să-și facă griji că Sandra și Joe ar putea folosi aceleași nume de variabile sau să interfereze cu alte coduri. În schimb, în ​​cadrul obiectelor complet separate, închise, pot merge mai departe și pot scrie codul așa cum vor. Acest lucru se datorează faptului că domeniul de aplicare al codului este local pentru obiect și, de asemenea, nici Joe, nici Sandra nu pot să vadă sau să modifice codul celuilalt.

Un document este transmis obiectului creat de Sandra - ItalAndCap, iar documentul iese la celălalt capăt (se întoarce) cu toate instanțele de ACME WINDOWORKS scrise înclinat și cu majuscule. Apoi, documentul este transmis obiectului lui Joe și, la rândul său, se întoarce cu ACME WINDOWORKS scris cu verde. Prin urmare, fiecare componentă a soluției globale, programul mai mare, își propune propria sarcină fără interferențe de la orice altă componentă (obiect). În consecință, se evită o mulțime de probleme dacă oamenii lucrează la sarcini individuale, și nimeni altcineva nu va putea să-și modifice codul sau să interacționeze accidental cu el într-un mod imprevizibil. De asemenea, este mai ușor să se urmărească bug-urile, deoarece fiecare loc de muncă este izolat de alte locuri de muncă - iar dacă numele companiei este modificat în verde doar în unele locuri, doar Joe va trebui să verifice obiectul pe care l-a realizat.

Este adevărat că, de-a lungul anilor, unele elemente ale teoriei OOP au devenit destul de greu de înțeles și abstracte. OOP poate fi, în zonele superioare ale universităților, un subiect extrem de complex de studiu.

Cu toate acestea, responsabilii echipelor care trebuie să construiască o aplicație mare pentru Office, trebuie să aibă timp să folosească funcțiile OOP. Fiecare programator individual va fi responsabil pentru modul în care funcționează obiectul. Ceilalți programatori pot folosi doar acel obiect fără să aibă grija depanării acestuia. Nici nu le este permis să-i vadă codul intern. Se iau în considerare obiectele care sunt încorporate în VBA în sine, cum ar fi obiectul Selection din Word. A fost scris de cineva de la Microsoft. Acest obiect poate fi pus în cod și i se poate cere să facă lucruri, cum ar fi mutarea cursorului cu un cuvânt la stânga:

Selection.MoveLeft Unit:=wdWord, Count:=1

Cu toate acestea, nu se poate vedea codul real din cadrul obiectului Selection care face deplasarea la stânga. Codul nu poate fi modificat, nu interacționează cu variabilele codului și nu cauzează alte efecte secundare nedorite. Cu alte cuvinte, obiectele VBA încorporate sunt încapsulate – se folosesc ca niște cutii negre, dar sigilate.

Pentru a crea propriile obiecte încapsulate în VBA, se pot adăuga module de clasă la un proiect, care sunt distincte de modulele de cod obișnuite.