Visual Basic za aplikacije je objektno usmerjen programski jezik. Osnovni koncept objektno usmerjenega programiranja je, da je programska aplikacija (v tem primeru Excel) sestavljena iz različnih posameznih objektov, od katerih ima vsak svoj nabor funkcij in uporabe.
Excelova aplikacija vsebuje celice, delovne liste, grafikone, vrtilne tabele, oblike za risanje – seznam Excelovih predmetov je navidez neskončen. Vsak predmet ima svoj nabor funkcij, ki se imenujejo lastnosti , in svoj nabor uporab, imenovane metode .
O tem konceptu lahko razmišljate tako kot o predmetih, s katerimi se srečujete vsak dan, kot so računalnik, avto ali hladilnik. Vsak od teh predmetov ima prepoznavne lastnosti, kot so višina, teža in barva. Vsak od njih ima svojo posebno uporabo, kot je delo z Excelom, prevoz na dolge razdalje ali hranjenje hitro pokvarljive hrane na hladnem.
Objekti VBA imajo tudi prepoznavne lastnosti in metode uporabe. Celica delovnega lista je predmet in med njenimi opisnimi lastnostmi (njenimi lastnostmi) so naslov, višina in oblikovana barva polnila. Delovni zvezek je tudi predmet VBA, med njegovimi uporabnimi funkcijami (njegovimi metodami) pa so njegove zmožnosti odpiranja, zapiranja in dodajanja grafikona ali vrtilne tabele.
V Excelu se vsakodnevno ukvarjate z delovnimi zvezki, delovnimi listi in obsegi. Verjetno mislite, da je vsak od teh predmetov del Excela in jih v resnici ne ločujete. Vendar pa Excel razmišlja o teh interno kot o delih hierarhičnega modela, imenovanega Excelov objektni model. Excelov objektni model je jasno opredeljen niz predmetov, ki so strukturirani glede na razmerja med njimi.
Razumevanje predmetov
V resničnem svetu lahko vse, kar vidite, opišete kot predmet. Ko pogledate svojo hišo, je to predmet. Vaša hiša ima sobe; ti prostori so tudi ločeni objekti. Te sobe imajo lahko omare. Te omare so prav tako predmeti. Ko razmišljate o svoji hiši, sobah in omarah, boste morda opazili hierarhično razmerje med njimi. Excel deluje na enak način.
V Excelu je predmet Application vseobsegajoči objekt – podoben vaši hiši. Znotraj predmeta Application ima Excel delovni zvezek. Znotraj delovnega zvezka je delovni list. Znotraj tega je razpon. Vse to so objekti, ki živijo v hierarhični strukturi.
Če želite pokazati na določen predmet v VBA, lahko prečkate objektni model. Če želite na primer priti do celice A1 na listu 1, lahko vnesete to kodo:
Activeworkbook.Sheets("Sheet1").Range("A1").Izberi
V večini primerov je hierarhija objektnega modela razumljena, zato vam ni treba vnašati vsake ravni. Če vnesete to kodo, pridete tudi do celice A1, ker Excel sklepa, da mislite na aktivni delovni zvezek in aktivni list:
Obseg("A1").Izberi
Dejansko, če imate kazalec že v celici A1, lahko preprosto uporabite predmet ActiveCell, kar izniči potrebo po črkovanju obsega:
Activecell.Izberi
Razumevanje zbirk
Veliko Excelovih predmetov pripada zbirkam , ki so v bistvu skupine podobnih predmetov. Podobno se vaša hiša nahaja v soseski, ki je zbirka hiš. Vsaka soseska je v zbirki sosesk, imenovanih mesto. Excel meni, da so zbirke sami predmeti.
V vsakem predmetu delovnega zvezka imate zbirko delovnih listov. Zbirka delovnih listov je predmet, ki ga lahko pokličete prek VBA. Vsak delovni list v vašem delovnem zvezku je v zbirki Delovni listi.
Če se želite sklicevati na delovni list v zbirki Delovni listi, se lahko nanj sklicujete po njegovem položaju v zbirki, kot številko indeksa, ki se začne z 1, ali po imenu, kot citirano besedilo. Če zaženete naslednji dve vrstici kode v delovnem zvezku, ki ima samo en delovni list z imenom MySheet, oba naredita isto stvar:
Delovni listi(1).Izberi
Delovni listi("MySheet").Izberite
Če imate v aktivnem delovnem zvezku dva delovna lista z imeni MySheet in YourSheet, se v tem vrstnem redu lahko sklicujete na drugi delovni list tako, da vnesete enega od teh stavkov:
Delovni listi(2).Izberi
Delovni listi("YourSheet").Izberite
Če se želite sklicevati na delovni list v delovnem zvezku z imenom MySheet v določenem delovnem zvezku, ki ni aktiven, morate kvalificirati sklic na delovni list in sklic na delovni zvezek, kot sledi:
Delovni zvezki("MyData.xls").Delovni listi("MySheet").Izberi
Razumevanje lastnosti
Lastnosti so v bistvu značilnosti predmeta. Vaša hiša ima barvo, kvadraturo, starost itd. Nekatere lastnosti, kot je barva vaše hiše, je mogoče spremeniti. Drugih lastnosti, kot je letnica vaše hiše, ni mogoče spremeniti.
Podobno ima predmet v Excelu, kot je predmet delovni list, lastnost imena lista, ki jo je mogoče spremeniti, in lastnost vrstice Rows.Count, ki je ni mogoče.
Na lastnost predmeta se sklicujete tako, da se sklicujete na predmet in nato na lastnost. Na primer, lahko spremenite ime svojega delovnega lista tako, da spremenite njegovo lastnost Name.
V tem primeru preimenujete Sheet1 v MySheet:
Sheets("Sheet1").Name = "MySheet"
Nekatere lastnosti so samo za branje, kar pomeni, da jim ne morete neposredno dodeliti vrednosti. Primer lastnosti samo za branje je lastnost Text celice, ki zagotavlja oblikovan videz vrednosti v celici. Ne morete ga prepisati ali spremeniti.
Razumevanje metod
Metode so dejanja, ki jih je mogoče izvesti nad predmetom. Pomaga razmišljati o metodah kot o glagolih. Na primer, lahko pobarvate svojo hišo; v VBA, to bi lahko pomenilo
hiša.barva
Preprost primer Excelove metode je metoda Select predmeta Range:
Obseg("A1").Izberi
Druga je metoda Copy predmeta Range:
Obseg("A1").Kopiraj
Nekatere metode imajo parametre, ki lahko narekujejo, kako se metode uporabljajo. Metodo Paste je na primer mogoče učinkoviteje uporabiti z izrecnim definiranjem parametra Destination:
ActiveSheet.Prilepi Destination:=Range("B1")