Denne vejledning lærer dig, hvordan du definerer objektvariabler ved hjælp af Set -sætningen i VBA.
Definere objektvariabler
Objekter er hjørnestenen i Microsoft Office - uden objekter kan vi ikke opnå noget. I Excel inkluderer objekter projektmappen, regnearket eller områdeobjekter. I Microsoft Word er eksemplerne dokument- eller tabelobjektet. Hvert objekt har en række forskellige Ejendomme og Metoder der kan programmeres til at kontrollere objektets adfærd.
Deklaration af objektvariablen
Før vi kan referere til objektet i kode og derfor kontrollere objektet, skal vi deklarere objektet. Vi kan gøre dette ved hjælp af Dim Statement.
123456 | Dim wkb som projektmappeDim wks som regnearkDim Rng som områdeDim wdDoc som dokumentDim wdTbl som tabelDim shp som form |
Det her Svag erklæring kan forekomme inden for en procedure:
eller uden for en procedure på modulniveau:
Hvis variablen deklareres på modulniveau (uden for proceduren), kan variablen bruges i hele modulet.
Hvis objektvariablen deklareres med den offentlige erklæring, kan variablen bruges i hele VBA -projektet:
Indstil værdi
Når du har erklæret objektet, skal du tildele objektet en værdi. Dette skal gøres ved hjælp af Sæt erklæring og kan kun gøres inden for en Procedure.
12345 | Sub SetObjects ()Indstil wkb = ActiveWorkbookIndstil wks = Sheet1Indstil rng = Range ("A1: G4")Afslut Sub |
Bemærk: Dette er anderledes end at tildele værdier til ikke-objektvariabler. Du SKAL bruge Set -sætningen til at tildele objektet til variablen. Hvis du ikke gør det, modtager du en fejl:
Når du har tildelt en værdi til objektet, kan du derefter skrive kode til at styre adfærden eller manipulere objektet.
VBA -programmering | Kodegenerator virker for dig!
Objekteksempler i Excel
Projektmappeobjekt
Når du har erklæret en projektmappevariabel, kan du derefter tildele en projektmappe til dette objekt og bruge de tilgængelige egenskaber og metoder til at manipulere dette objekt. I eksemplet herunder vil vi gemme en projektmappe.
123456789101112 | Sub WorkbookObject ()'erklære projektmappen objektDim wkb som projektmappe'tildele en ikke -gemt projektmappe til objektetIndstil wkb = Workbooks ("Bog1")'gem projektmappenwkb.SaveAs "C: \ data \ testbook.xlsx"'luk projektmappenwkb.luk'husk at frigive objektetIndstil wkb = IntetAfslut Sub |
Regneark Objekt
På samme måde kan du manipulere et regneark eller regneark, når du har erklæret regnearket som en variabel. I eksemplet herunder omdøber vi Sheet1 og Sheet2.
12345678910111213 | Sub WorksheetObject ()Dim wks1 som regnearkDim wks2 som regneark'initialiser objekterneIndstil wks1 = Ark1Indstil wks2 = Sheet2'omdøbe arkenewks1.Name = "Kunder"wks2.Name = "Produkter"'sæt objekterne til ingentingwks1 = Intetwks2 = IntetAfslut Sub |
Træt af at søge efter eksempler på VBA -kode? Prøv AutoMacro!
Områdeobjekt
Range -objektet er et af de mest nyttige objekter at manipulere i Excel. I eksemplet herunder fedter vi område A1 til E1 og formaterer det med en bundkant.
12345678910111213 | Sub RangeObject ()Dim rng1 Som område'initialiser rækkeviddenIndstil rng = Range ("A1: E1")'fed rækkevidde og indstil den nederste kantrng.Font.Bold = SandtMed rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Vægt = xlThinAfslut medAfslut Sub |
Formobjekt
Du kan også bruge objektvariabler til at arbejde med figurer.
123456789101112 | Sub AddShape ()Dim shp som form'skabe formenIndstil shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68,25, 225,75, 136,5, 96#)Med shp'ændre indvendig farve og stil.Fill.ForeColor.RGB = RGB (255, 255, 0).Fyld.Solid'juster smilet!.Justeringer.Punkt (1) = 0,07181Afslut medAfslut Sub |