Kuigi objektidele viitamise teadmine on oluline, ei saa te lihtsalt objektile viidates teha kasulikku Exceli VBA programmeerimist. Millegi tähendusliku saavutamiseks peate tegema ühte kahest asjast:
Kuna saadaval on sõna otseses mõttes tuhanded omadused ja meetodid, võite kergesti hätta jääda. Pea meeles, et enamikku saadaolevatest omadustest ja meetoditest ei pea te kunagi kasutama.
Objekti omadused
Igal objektil on omadused. Omadustest võib mõelda kui atribuute, mis kirjeldavad objekti. Objekti omadused määravad, kuidas see välja näeb, kuidas see käitub ja isegi selle, kas see on nähtav. VBA abil saate objekti omadustega teha kahte asja:
Näiteks ühelahtrilisel Range objektil on atribuut nimega Value. Atribuut Value salvestab lahtris sisalduva väärtuse. Saate kirjutada VBA-koodi, et kuvada atribuut Väärtus, või kirjutada VBA-koodi, et määrata atribuudi Value konkreetne väärtus. Järgmine makro kasutab VBA sisseehitatud funktsiooni MsgBox, et kuvada kast, mis kuvab aktiivse töövihiku lehe 1 lahtris A1 oleva väärtuse:
See teatekast kuvab vahemiku objekti atribuudi Väärtus.
Sub ShowValue()
Sisu = Töölehed (“Leht1”). Vahemik (“A1”).Väärtus
Msgboxi sisu
Lõpeta alam
Muide, MsgBox on väga kasulik funktsioon. Saate seda kasutada tulemuste kuvamiseks, kui Excel täidab teie VBA-koodi.
Eelmise näite kood kuvab lahtri atribuudi Väärtus praeguse sätte. Mida teha, kui soovite selle atribuudi seadeid muuta? Järgmine makro muudab väärtust lahtris A1, muutes lahtri atribuuti Väärtus:
Alammuutusväärtus()
Töölehed (“Leht1”). Vahemik (“A1”). Väärtus = 994,92
Lõpeta alam
Pärast seda, kui Excel on selle protseduuri teostanud, sisaldab aktiivse töövihiku lehe 1 lahter A1 väärtust 994.92. Kui aktiivsel töövihikul pole lehte nimega Sheet1, on selle makro käivitamise tulemuseks veateade. VBA järgib lihtsalt juhiseid ja see ei saa töötada lehel, mida pole olemas.
Igal objektil on oma omaduste komplekt, kuigi mõned omadused on paljudele objektidele ühised. Näiteks on paljudel (kuid mitte kõigil) objektidel omadus Nähtav. Enamikul objektidel on ka atribuut Name.
Mõned objekti atribuudid on kirjutuskaitstud omadused, mis tähendab, et teie kood saab atribuudi väärtuse, kuid ei saa seda muuta.
Ka kollektsioon on objekt. See tähendab, et kollektsioonil on ka omadusi. Näiteks saate määrata, kui palju töövihikuid on avatud, avades kogu töövihikute atribuudi Loendus. Järgmine VBA protseduur kuvab teatekasti, mis ütleb teile, mitu töövihikut on avatud:
Sub CountBooks ()
MsgBox Workbooks.Count
Lõpeta alam
Objekti meetodid
Lisaks omadustele on objektidel ka meetodid. Meetod on tegevus, mida teha koos objekti. Meetod võib muuta objekti omadusi või panna objekti midagi tegema.
See lihtne näide kasutab vahemiku objektil meetodit ClearContents, et kustutada aktiivsel lehel 12 lahtri sisu:
Sub ClearRange()
Vahemik(“A1:A12”).Selge sisu
Lõpeta alam
Mõned meetodid kasutavad ühte või mitut argumenti. Argument on väärtus, mida selgitatakse täpsemalt toiming. Asetate meetodi argumendid meetodi järele, eraldades need tühikuga. Mitu argumenti eraldatakse komaga.
Järgmine näide aktiveerib Sheet1 (aktiivses töövihikus) ja kopeerib seejärel lahtri A1 sisu lahtrisse B1, kasutades vahemiku objekti kopeerimismeetodit. Selles näites on meetodil Kopeeri üks argument, mis on kopeerimistoimingu sihtvahemik:
Sub CopyOne()
Töölehed (“Leht1”). Aktiveeri
Vahemik ("A1"). Kopeeri vahemik ("B1")
Lõpeta alam
Pange tähele, et vahemiku objektidele viitamisel jäeti töölehe viide välja. Seda saab teha ohutult, kuna kasutati leht1 aktiveerimise avaldust. (kasutades aktiveerimismeetodit).
Teine võimalus meetodi argumendi määramiseks on kasutada argumendi ametlikku nime, millele järgneb koolon ja võrdusmärk. Nimega argumentide kasutamine on valikuline, kuid see võib sageli muuta teie koodi hõlpsamini mõistetavaks. CopyOne'i protseduuri teise lause võiks kirjutada järgmiselt:
Vahemik (“A1”). Kopeerimise sihtkoht:= Vahemik (“B1”)
Pange tähele väikest viipa avalduse tippimisel. See viip näitab argumendi ametlikku nime.
VBE kuvab tippimise ajal argumentide loendi.
Kuna kollektsioon on ka objekt, on kogudel meetodid. Järgmine makro kasutab töövihikute kogu jaoks lisamismeetodit.
Alam AddAWorkbook()
Töövihikud.Lisa
Lõpeta alam
Nagu arvata võis, loob see avaldus uue töövihiku. Teisisõnu lisab see töövihikute kogusse uue töövihiku. Pärast selle makro käivitamist on aktiivne töövihik värske töövihik.
Objekti sündmused
On veel üks teema, mida peate teadma: sündmused. Objektid reageerivad erinevatele sündmustele . Näiteks kui töötate Excelis ja aktiveerite mõne muu töövihiku, ilmneb töövihiku aktiveerimise sündmus. Näiteks võib teil olla VBA-makro, mis on loodud käivituma alati, kui konkreetse töövihiku objekti puhul toimub aktiveerimissündmus.
Excel toetab paljusid sündmusi, kuid mitte kõik objektid ei saa vastata kõigile sündmustele. Ja mõned objektid ei reageeri ühelegi sündmusele. Ainsad sündmused, mida saate kasutada, on need, mille on kättesaadavaks teinud Microsoft Exceli programmeerijad.