„Excel VBA“ objektai reiškia atskirus „objektus“, sudarytus iš kodo ir duomenų. Pati „Excel“ programa yra objektas, kaip ir darbaknygės, darbalapiai, langelių diapazonai ir formos. Kiekvienas objektas turi susijusių savybių ir metodų. Objektuose taip pat gali būti kitų objektų, o kolekcijų objektas naudojamas nurodant tų pačių „Excel“ objektų grupę.
Šioje pamokoje apžvelgsime kai kuriuos dažniausiai naudojamus „Excel“ objektus.
Taikymo objektas
Programos objektas nurodo visą „Excel“ programą. Programos objekte yra darbaknygės objektas.
Šis kodas naudoja „Application“ objekto „WindowState“ ypatybę, kad „Excel“ langas būtų nustatytas iki didžiausio galimo dydžio:
12345 | Papildomas „TheExcelWindow“ ()Application.WindowState = xlMaximizedPabaiga Sub |
Darbo knygų objektas
Objektas „Darbaknygės“ reiškia visų šiuo metu atidarytų „Excel“ darbaknygių rinkinį.
Šis kodas naudoja darbaknyges. Pridėti metodą, kad sukurtumėte naują darbaknygę ir pridėtumėte ją prie kolekcijos:
12345 | Pridėti naują darbo knygą į darbo knygas kolekcija ()Darbaknygės. PridėtiPabaiga Sub |
Galite pasiekti atskirą darbaknygių kolekciją darbaknygėse naudodami jos rodyklės numerį arba pavadinimą. Taigi, naudodami darbaknyges („ExcelWB“), galite kreiptis į darbaknygę, vadinamą „ExcelWb“.
Darbo knygos objektas
Darbaknygės objektas yra darbaknygių kolekcijos dalis. Darbaknygės objekte yra darbalapių kolekcija (darbalapiai) ir lapų kolekcija (darbalapiai, diagramų lapai ir makrolapai). „ActiveWorkbook“ objektas nurodo aktyvią darbaknygę.
Šis kodas naudoja ActiveWorkbook.Save metodą, kad išsaugotumėte dabartinę aktyvią darbaknygę:
12345 | Darbo knygos išsaugojimas ()ActiveWorkbook.SavePabaiga Sub |
Lakštų objektas
Lakštų objektas reiškia visų darbaknygių, diagramų lapų ir makrolapų, esančių darbo knygoje, rinkimą. Šis kodas naudoja „Sheets.Add“ metodą, kad po paskutinio darbaknygės darbalapio pridėtumėte naują darbalapį, pavadintą „ExtraSheet“:
123456 | Sub AddingNewSheet ()„ActiveWorkbook.Sheets.Add“ (po: = „ActiveWorkbook.Worksheets“ („Worksheets.Count“), skaičius: = 1, _Tipas: = xlWorksheet) .Name = "ExtraSheet"Pabaiga Sub |
Atkreipkite dėmesį į skaičiuoklių sintaksę. Pridėjimo metodas yra:
Lakštai. Pridėti (Prieš, Po, Grafas, Tipas) kur:
-Prieš tai yra neprivaloma ir nurodo, kad naujas lapas turi būti pridėtas prieš esamą lapą.
-After yra neprivalomas ir nurodo, kad naujas lapas turi būti pridėtas po esamo lapo.
-Skaičius yra neprivalomas ir nurodo, kiek lapų pridėti.
-Type yra neprivalomas ir nurodo lapo tipą. „xlWorksheet“ pridėtų naują darbalapį, „xlChart“ pridėtų naują diagramos lapą, o „xlExcel4MacroSheet“ arba „xlExcel4IntlMacroSheet“ pridėtų naują makrolapą. Jei tuščias, naudojamas numatytasis „xlWorksheet“ lapas.
Galite pasiekti atskirą „Sheets“ kolekcijos lapą naudodami jo indekso numerį arba pavadinimą. Taigi galite naudoti darbalapį, pavadintą „SheetOne“, naudodami „Sheets“ („SheetOne“).
Darbo lapų objektas
Objektas „Darblapiai“ reiškia visų darbaknygėje esančių darbalapių rinkinį. Šis kodas naudoja darbalapius. Pridėti metodą, kad pridėtumėte naują darbalapį:
12345 | Sub AddingNewSheet ()Darbo lapai. PridėtiPabaiga Sub |
Galite pasiekti atskirą darbalapių kolekcijos lapą naudodami jo indekso numerį arba pavadinimą. Taigi galite naudoti darbalapį, pavadintą „SheetTwo“, naudodami darbalapius („SheetTwo“).
Darbo lapo objektas
Skaičiuoklės objektas yra darbalapių kolekcijos dalis. Skaičiuoklės objekte yra diapazono objektas ir kiti objektai. „ActiveSheet“ objektas nurodo aktyvų lapą.
Šis kodas pakeičia aktyvaus lapo puslapio orientaciją į kraštovaizdį:
12345 | Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapePabaiga Sub |
Atminkite, kad „Sheet“ objekte yra „PageSetup“ objektas, o jo orientacijos ypatybė nustatyta kaip „xlLandscape“.
Diapazono objektas
Diapazono objektas gali nurodyti vieną langelį arba langelių rinkinį darbalapyje. Šis kodas parodo, kaip naudoti diapazoną. Pasirinkite langelių A1: B1 pasirinkimo metodą:
12345 | Pasirenkamas ARange ()Diapazonas („A1: B1“). PasirinkitePabaiga Sub |
Formos objektas
Objektas „Formos“ reiškia visų formų rinkinį darbalapyje. Šis kodas pasirinktų visas „ActiveSheet“ formas:
12345 | Antrinis pasirinkimasAllTheShapes ()ActiveSheet.Shapes.SelectAllPabaiga Sub |
Formos objektas
„Shape Object“ yra kolekcijos „Shapes“ dalis. Šis kodas sukurtų suapvalintą stačiakampio formą ir nustatytų formos objekto pavadinimo ypatybę:
123456789 | Sub, naudojant „TheShapeObject“ ()Su darbalapiais (1). Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Suapvalintas stačiakampis"Pabaiga suPabaiga Sub |
„Excel VBA“ objekto modelis
„Excel“ VBA objektų modelis apibūdina visų objektų, kuriuos galite naudoti „Excel“, hierarchiją. Pvz., Galite naudoti objektą „Darbaknygės“, kad netiesiogiai arba tiesiogiai nurodytumėte visus kitus objektus. Šis kodas parodo, kaip pasirinkti langelį A1, naudojant hierarchinę struktūrą:
12345 | Naudojant „TheHierachicalStructure“ ()Darbaknygės („1 knyga“). Darbo lapai („1 lapas“). Diapazonas („A1“). PasirinkitePabaiga Sub |
Objekto kintamojo deklaravimas ir priskyrimas
Galite deklaruoti ir priskirti objektą kintamajam naudodami raktinius žodžius „Dim“ ir „Set“.
Pavyzdžiui:
12 | Pritemdyti ws kaip darbalapįNustatykite ws = ActiveWorkbook.ActiveSheet |
Šis kodas parodo, kaip deklaruoti ir priskirti diapazono objektą kintamajam:
12345678910111213141516 | Papildomas priskyrimasARangeToAVariable ()Dim rngOne kaip objektasNustatyti rngOne = Diapazonas („A1: C1“)rngOne.Font.Bold = TiesaSu rngOne.Font.Bold = Tiesa.Font.Name = "Kalibris".Šriftas.Dydis = 9.Font.Color = RGB (35, 78, 125). Interjeras. Spalva = RGB (205, 224, 180).Borders (xlEdgeBottom) .LineStyle = xlContinuousPabaiga suPabaiga Sub |
Rezultatas yra toks:
Norint suprasti VBA, būtina suprasti, kaip veikia objektai. Galite sužinoti daugiau naudodamiesi mūsų interaktyvia VBA pamoka.