Visual Basic za aplikacije je objektno orijentirani programski jezik. Osnovni koncept objektno orijentiranog programiranja je da se softverska aplikacija (u ovom slučaju Excel) sastoji od različitih pojedinačnih objekata, od kojih svaki ima svoj vlastiti skup značajki i upotrebe.
Excel aplikacija sadrži ćelije, radne listove, grafikone, zaokretne tablice, oblike za crtanje — popis Excelovih objekata naizgled je beskonačan. Svaki objekt ima svoj vlastiti skup značajki, koje se nazivaju svojstva , i vlastiti skup upotreba, nazvan metode .
O ovom konceptu možete razmišljati baš kao i o predmetima s kojima se svakodnevno susrećete, poput računala, automobila ili hladnjaka. Svaki od ovih objekata ima identifikacijske kvalitete, kao što su visina, težina i boja. Svaki od njih ima svoju posebnu namjenu, kao što je rad s Excelom, prijevoz na velike udaljenosti ili držanje kvarljive hrane hladnom.
VBA objekti također imaju prepoznatljiva svojstva i metode korištenja. Ćelija radnog lista je objekt, a među njegovim opisivim značajkama (njegova svojstva) su njegova adresa, visina i formatirana boja ispune. Radna knjiga je također VBA objekt, a među njezinim korisnim značajkama (njezinim metodama) su njegove mogućnosti otvaranja, zatvaranja i dodavanja grafikona ili zaokretne tablice.
U Excelu se svakodnevno bavite radnim knjigama, radnim listovima i rasponima. Vjerojatno mislite da je svaki od ovih objekata dio Excela, a ne da ih zapravo odvajate u svom umu. Međutim, Excel o njima interno razmišlja kao o dijelu hijerarhijskog modela koji se naziva Excel objektni model. Excel objektni model je jasno definiran skup objekata koji su strukturirani prema odnosima između njih.
Razumijevanje objekata
U stvarnom svijetu sve što vidite možete opisati kao objekt. Kada pogledate svoju kuću, ona je objekt. Vaša kuća ima sobe; te sobe su također zasebni objekti. Te sobe mogu imati ormare. I ti ormari su predmeti. Dok razmišljate o svojoj kući, sobama i ormarima, možda ćete vidjeti hijerarhijski odnos između njih. Excel radi na isti način.
U Excelu, objekt Application je sveobuhvatni objekt — sličan vašoj kući. Unutar objekta Application, Excel ima radnu knjigu. Unutar radne knjige nalazi se radni list. Unutar toga je raspon. Sve su to objekti koji žive u hijerarhijskoj strukturi.
Da biste pokazali na određeni objekt u VBA, možete prijeći model objekta. Na primjer, da biste došli do ćelije A1 na listu 1, možete unijeti ovaj kod:
Activeworkbook.Sheets("Sheet1").Range("A1").Odaberi
U većini slučajeva, hijerarhija objektnog modela se razumije, tako da ne morate upisivati svaku razinu. Unos ovog koda također vas dovodi do ćelije A1 jer Excel zaključuje da mislite na aktivnu radnu knjigu i aktivni list:
Raspon("A1").Odaberi
Doista, ako imate pokazivač već u ćeliji A1, možete jednostavno koristiti ActiveCell objekt, negirajući potrebu za ispisivanjem raspona:
Activecell.Select
Razumijevanje zbirki
Mnogi Excelovi objekti pripadaju zbirkama , koje su u biti skupine sličnih objekata. Slično, vaša kuća se nalazi u susjedstvu, što je skup kuća. Svaka četvrt nalazi se u zbirci četvrti koja se zove grad. Excel smatra da su zbirke sami objekti.
U svakom objektu Workbook imate kolekciju radnih listova. Zbirka radnih listova je objekt koji možete pozvati putem VBA. Svaki radni list u vašoj radnoj knjizi nalazi se u kolekciji Radni listovi.
Ako želite referirati na radni list u kolekciji Radni listovi, možete ga pozvati prema njegovoj poziciji u kolekciji, kao indeksni broj koji počinje s 1, ili po imenu, kao citirani tekst. Ako pokrenete sljedeća dva retka koda u radnoj knjizi koja ima samo jedan radni list pod nazivom MySheet, oba rade istu stvar:
Radni listovi(1).Odaberi
Radni listovi("MySheet").Odaberite
Ako imate dva radna lista u aktivnoj radnoj knjizi koji imaju nazive MySheet i YourSheet, tim redoslijedom, možete se pozvati na drugi radni list upisivanjem bilo koje od ovih izjava:
Radni listovi(2).Odaberi
Radni listovi("YourSheet").Odaberite
Ako želite referirati na radni list u radnoj knjizi pod nazivom MySheet u određenoj radnoj knjizi koja nije aktivna, morate kvalificirati referencu radnog lista i referencu radne knjige na sljedeći način:
Radne knjige("MyData.xls").Radni listovi("MySheet").Odaberi
Razumijevanje svojstava
Svojstva su u biti karakteristike objekta. Vaša kuća ima boju, kvadraturu, starost i tako dalje. Neka svojstva, kao što je boja vaše kuće, mogu se promijeniti. Ostala svojstva, kao što je godina izgradnje vaše kuće, ne mogu se promijeniti.
Isto tako, objekt u Excelu kao što je objekt Worksheet ima svojstvo naziva lista koje se može promijeniti i svojstvo reda Rows.Count koje ne može.
Na svojstvo objekta upućujete pozivajući se na objekt, a zatim na svojstvo. Na primjer, možete promijeniti naziv svog radnog lista promjenom njegovog svojstva Name.
U ovom primjeru preimenujete Sheet1 u MySheet:
Sheets("Sheet1").Name = "MySheet"
Neka svojstva su samo za čitanje, što znači da im ne možete izravno dodijeliti vrijednost. Primjer svojstva samo za čitanje je svojstvo Text ćelije, koje pruža formatirani izgled vrijednosti u ćeliji. Ne možete ga prepisati ili promijeniti.
Razumijevanje metoda
Metode su radnje koje se mogu izvesti nad objektom. Pomaže razmišljanje o metodama kao o glagolima. Na primjer, možete obojiti svoju kuću; u VBA, to bi se moglo prevesti na
kuća.boja
Jednostavan primjer Excel metode je Select metoda objekta Range:
Raspon("A1").Odaberi
Druga je metoda Copy objekta Range:
Raspon("A1").Kopiraj
Neke metode imaju parametre koji mogu diktirati kako se metode primjenjuju. Na primjer, metoda Paste može se učinkovitije koristiti eksplicitnim definiranjem parametra Destination:
ActiveSheet.Zalijepi Odredište:=Raspon("B1")