„Visual Basic for Applications“ yra į objektą orientuota programavimo kalba. Pagrindinė objektinio programavimo koncepcija yra ta, kad programinė įranga (šiuo atveju „Excel“) susideda iš įvairių atskirų objektų, kurių kiekvienas turi savo funkcijų rinkinį ir paskirtį.
„Excel“ programoje yra langelių, darbalapių, diagramų, suvestinių lentelių, piešimo formų – „Excel“ objektų sąrašas atrodo begalinis. Kiekvienas objektas turi savo savybių rinkinį, kuris vadinamas savybėmis , ir savo naudojimo būdų rinkinį, vadinamą metodais .
Galite galvoti apie šią koncepciją taip pat, kaip apie objektus, su kuriais susiduriate kiekvieną dieną, pavyzdžiui, kompiuterį, automobilį ar šaldytuvą. Kiekvienas iš šių objektų turi identifikuojančių savybių, tokių kaip aukštis, svoris ir spalva. Kiekvienas iš jų turi skirtingą paskirtį, pvz., dirbti su Excel, gabenti jus dideliais atstumais arba laikyti greitai gendančius maisto produktus šaltai.
VBA objektai taip pat turi identifikuojamų savybių ir naudojimo būdų. Darbalapio langelis yra objektas, o tarp jo aprašomų savybių (jo savybių) yra adresas, aukštis ir suformatuota užpildymo spalva. Darbaknygė taip pat yra VBA objektas, o tarp naudingų funkcijų (jos metodų) yra galimybė atidaryti, uždaryti ir pridėti diagramą arba suvestinę lentelę.
Programoje „Excel“ kasdien dirbate su darbaknygėmis, darbalapiais ir diapazonais. Tikriausiai galvojate apie kiekvieną iš šių objektų kaip „Excel“ dalį, o mintyse jų neatskiriate. Tačiau „Excel“ apie juos viduje galvoja kaip apie hierarchinio modelio, vadinamo „Excel“ objekto modeliu, dalį. „Excel“ objektų modelis yra aiškiai apibrėžtas objektų rinkinys, sudarytas pagal ryšius tarp jų.
Objektų supratimas
Realiame pasaulyje viską, ką matote, galite apibūdinti kaip objektą. Kai žiūrite į savo namą, tai yra objektas. Jūsų namuose yra kambariai; tos patalpos irgi yra atskiri objektai. Tose patalpose gali būti spintos. Tos spintos taip pat yra objektai. Kai galvojate apie savo namus, kambarius ir spintas, galite pamatyti hierarchinį ryšį tarp jų. „Excel“ veikia taip pat.
Programoje „Excel“ programos objektas yra visa apimantis objektas – panašus į jūsų namus. Programos objekte „Excel“ turi darbaknygę. Darbaknygės viduje yra darbalapis. Viduje yra diapazonas. Tai visi objektai, gyvenantys hierarchinėje struktūroje.
Norėdami nurodyti konkretų objektą VBA, galite pereiti objekto modelį. Pavyzdžiui, norėdami patekti į langelį A1 1 lape, galite įvesti šį kodą:
Activeworkbook.Sheets("Sheet1").Range("A1").Pasirinkite
Daugeliu atvejų objekto modelio hierarchija yra suprantama, todėl nereikia įvesti kiekvieno lygio. Įvedę šį kodą taip pat pateksite į langelį A1, nes „Excel“ daro išvadą, kad turite omenyje aktyvią darbaknygę ir aktyvųjį lapą:
Diapazonas („A1“). Pasirinkite
Iš tiesų, jei žymeklis jau yra langelyje A1, galite tiesiog naudoti ActiveCell objektą, panaikindami poreikį nurodyti diapazoną:
Activecell.Select
Supratimas apie kolekcijas
Daugelis „Excel“ objektų priklauso kolekcijoms , kurios iš esmės yra panašių objektų grupės. Panašiai jūsų namas yra kaimynystėje, kuri yra namų kolekcija. Kiekvienas rajonas yra apylinkių, vadinamų miestu, rinkinyje. „Excel“ kolekcijas laiko pačiais objektais.
Kiekviename darbaknygės objekte turite darbalapių rinkinį. Darbalapių kolekcija yra objektas, kurį galite iškviesti per VBA. Kiekvienas darbaknygės darbalapis yra kolekcijoje Darbalapiai.
Jei norite nurodyti darbalapį kolekcijoje Darbalapiai, galite nurodyti jį pagal jo vietą rinkinyje, kaip indekso numerį, prasidedantį 1, arba pagal pavadinimą, kaip cituotą tekstą. Jei paleidžiate šias dvi kodo eilutes darbaknygėje, kurioje yra tik vienas darbalapis, vadinamas MySheet, jos abi atlieka tą patį:
Darbalapiai(1).Pasirinkite
Darbalapiai („MySheet“). Pasirinkite
Jei aktyvioje darbaknygėje turite du darbalapius, kurių pavadinimai yra „MySheet“ ir „YourSheet“, tokia tvarka galite peržiūrėti antrąjį darbalapį įvesdami vieną iš šių teiginių:
Darbalapiai(2).Pasirinkite
Darbalapiai („Jūsų lapas“). Pasirinkite
Jei norite nurodyti darbalapį darbaknygėje, pavadintoje MySheet konkrečioje darbaknygėje, kuri nėra aktyvi, turite nurodyti darbalapio nuorodą ir darbaknygės nuorodą, kaip nurodyta toliau:
Darbaknygės („MyData.xls“). Darbo lapai („Mano lapas“). Pasirinkite
Savybių supratimas
Savybės iš esmės yra objekto savybės. Jūsų namas turi spalvą, kvadratinį metrą, amžių ir pan. Kai kurios savybės, pavyzdžiui, jūsų namo spalva, gali būti pakeistos. Kitų savybių, pvz., namo statybos metų, pakeisti negalima.
Taip pat „Excel“ objektas, pvz., objektas Darbalapis, turi lapo pavadinimo ypatybę, kurią galima pakeisti, ir eilutės ypatybę „Rows.Count“, kurios negalima.
Jūs nurodote objekto savybę, nurodydami objektą, o tada - nuosavybę. Pavyzdžiui, galite pakeisti darbalapio pavadinimą pakeisdami jo ypatybę Name.
Šiame pavyzdyje Sheet1 pervadinate į MySheet:
Skaičiuoklės ("Sheet1").Name = "MySheet"
Kai kurios ypatybės yra tik skaitomos, o tai reiškia, kad negalite joms tiesiogiai priskirti reikšmės. Tik skaitomos ypatybės pavyzdys yra langelio ypatybė Text, kuri suteikia suformatuotą reikšmės išvaizdą langelyje. Negalite jo perrašyti ar pakeisti.
Metodų supratimas
Metodai yra veiksmai, kuriuos galima atlikti prieš objektą. Tai padeda galvoti apie metodus kaip veiksmažodžius. Pavyzdžiui, galite dažyti savo namus; VBA, tai gali reikšti
namas.dažai
Paprastas „Excel“ metodo pavyzdys yra diapazono objekto pasirinkimo metodas:
Diapazonas („A1“). Pasirinkite
Kitas yra diapazono objekto kopijavimo metodas:
Diapazonas("A1").Kopijuoti
Kai kurie metodai turi parametrus, kurie gali nulemti, kaip metodai bus taikomi. Pavyzdžiui, įklijavimo metodas gali būti naudojamas efektyviau, aiškiai apibrėžiant parametrą Paskirtis:
ActiveSheet.Paste Destination:=Range("B1")