Visual Basic for Applications on objektorienteeritud programmeerimiskeel. Objektorienteeritud programmeerimise põhikontseptsioon seisneb selles, et tarkvararakendus (antud juhul Excel) koosneb erinevatest üksikutest objektidest, millest igaühel on oma funktsioonide ja kasutusalade komplekt.
Exceli rakendus sisaldab lahtreid, töölehti, diagramme, pivot-tabeleid, kujundite joonistamist – Exceli objektide loend on näiliselt lõputu. Igal objektil on oma funktsioonide komplekt, mida nimetatakse omadusteks , ja oma kasutusalad, mida nimetatakse meetoditeks .
Võite mõelda sellele kontseptsioonile täpselt samamoodi nagu iga päev kohatavate objektide kohta, nagu arvuti, auto või külmkapp. Kõigil neil objektidel on identifitseerivad omadused, nagu pikkus, kaal ja värv. Igal neist on oma kasutusotstarve, näiteks Exceliga töötamine, teie transportimine pikkade vahemaade taha või kiiresti riknevate toiduainete külmas hoidmine.
VBA objektidel on ka tuvastatavad omadused ja kasutusviisid. Töölehe lahter on objekt ja selle kirjeldatavate omaduste (omaduste) hulgas on selle aadress, kõrgus ja vormindatud täitevärv. Töövihik on samuti VBA-objekt ja selle kasutatavate funktsioonide (meetodite) hulgas on selle avamise, sulgemise ja diagrammi või pivot-tabeli lisamise võimalused.
Excelis tegelete iga päev töövihikute, töölehtede ja vahemikega. Tõenäoliselt arvate, et kõik need objektid on kõik Exceli osad, mitte ei eralda neid oma mõtetes. Kuid Excel peab neid sisemiselt osaks hierarhilisest mudelist, mida nimetatakse Exceli objektimudeliks. Exceli objektimudel on selgelt määratletud objektide kogum, mis on struktureeritud vastavalt nendevahelistele suhetele.
Objektide mõistmine
Reaalses maailmas saate kirjeldada kõike, mida näete objektina. Kui vaatate oma maja, on see objekt. Teie majas on toad; need ruumid on ka eraldi objektid. Nendes tubades võivad olla riidekapid. Need kapid on samuti objektid. Kui mõtlete oma majale, tubadele ja kappidele, võite näha nende vahel hierarhilist seost. Excel töötab samamoodi.
Excelis on rakenduse objekt kõikehõlmav objekt – sarnane teie majaga. Rakenduse objekti sees on Excelis töövihik. Töövihiku sees on tööleht. Selle sees on vahemik. Need on kõik objektid, mis elavad hierarhilises struktuuris.
VBA-s konkreetsele objektile osutamiseks saate objektimudelit läbida. Näiteks 1. lehe lahtrisse A1 jõudmiseks võite sisestada järgmise koodi:
Activeworkbook.Sheets("Sheet1").Range("A1").Valige
Enamikul juhtudel mõistetakse objektimudeli hierarhiat, nii et te ei pea igal tasandil tippima. Selle koodi sisestamine viib teid ka lahtrisse A1, kuna Excel järeldab, et peate silmas aktiivset töövihikut ja aktiivset lehte:
Vahemik("A1").Valige
Tõepoolest, kui teie kursor on juba lahtris A1, saate lihtsalt kasutada ActiveCelli objekti, välistades vajaduse vahemikku täpsustada:
Aktiivne lahter. Valige
Kogude mõistmine
Paljud Exceli objektid kuuluvad kogudesse , mis on sisuliselt sarnaste objektide rühmad. Samamoodi asub teie maja naabruses, mis on majade kogum. Iga naabruskond asub linnaosade kogumis, mida nimetatakse linnaks. Excel käsitleb kogusid objektidena.
Igas töövihiku objektis on töölehtede kogu. Töölehtede kogu on objekt, millele saate VBA kaudu helistada. Iga teie töövihiku tööleht asub kogus Töölehed.
Kui soovite viidata töölehele kogus Töölehed, saate sellele viidata selle asukoha järgi kogus, 1-ga algava indeksinumbrina või nime järgi tsiteeritud tekstina. Kui käivitate järgmised kaks koodirida töövihikus, millel on ainult üks tööleht nimega MySheet, teevad nad mõlemad sama.
Töölehed(1).Valige
Töölehed("MySheet").Valige
Kui teil on aktiivses töövihikus kaks töölehte, mille nimed on MySheet ja YourSheet, saate teisele töölehel viidata, tippides ühe järgmistest väidetest:
Töölehed(2).Valige
Töölehed ("Teie leht"). Valige
Kui soovite viidata töölehel töövihikus nimega MySheet konkreetses töövihikus, mis ei ole aktiivne, peate töölehe viite ja töövihiku viite kvalifitseerima järgmiselt.
Töövihikud("MyData.xls").Töölehed("MinuSheet").Valige
Omaduste mõistmine
Omadused on sisuliselt objekti omadused. Teie majal on värv, ruutmeetrid, vanus ja nii edasi. Mõnda omadust, näiteks teie maja värvi, saab muuta. Muid omadusi, näiteks teie maja ehitusaastat, muuta ei saa.
Samamoodi on Exceli objektil, näiteks objektil Tööleht, atribuut lehe nimi, mida saab muuta, ja atribuut Rows.Count, mida ei saa.
Te viitate objekti omadusele, viidates objektile ja seejärel omadusele. Näiteks saate muuta oma töölehe nime, muutes selle atribuuti Name.
Selles näites nimetate Sheet1 ümber MySheetiks:
Sheets("Leht1").Nimi = "Minu leht"
Mõned omadused on kirjutuskaitstud, mis tähendab, et te ei saa neile otse väärtust määrata. Kirjutuskaitstud atribuudi näide on lahtri atribuut Text, mis annab lahtris oleva väärtuse vormindatud välimuse. Te ei saa seda üle kirjutada ega muuta.
Meetoditest arusaamine
Meetodid on toimingud, mida saab objekti vastu sooritada. See aitab mõelda meetoditest kui tegusõnadest. Näiteks saate oma maja värvida; VBA-s võib see tähendada
maja.värv
Exceli meetodi lihtne näide on objekti Vahemik valik meetod:
Vahemik("A1").Valige
Teine on vahemiku objekti kopeerimismeetod:
Vahemik("A1").Kopeeri
Mõnel meetodil on parameetrid, mis võivad määrata, kuidas meetodeid rakendatakse. Näiteks saab kleepimismeetodit tõhusamalt kasutada, määrates selgesõnaliselt parameetri Sihtkoht:
ActiveSheet.Paste Destination:=Range("B1")