Visual Basic for Applications er et objektorienteret programmeringssprog. Det grundlæggende koncept for objektorienteret programmering er, at en softwareapplikation (Excel i dette tilfælde) består af forskellige individuelle objekter, som hver har sit eget sæt funktioner og anvendelser.
En Excel-applikation indeholder celler, regneark, diagrammer, pivottabeller, tegningsformer - listen over Excels objekter er tilsyneladende uendelig. Hvert objekt har sit eget sæt funktioner, som kaldes egenskaber , og sit eget sæt af anvendelser, kaldet metoder .
Du kan tænke på dette koncept, ligesom du ville tænke på de genstande, du møder hver dag, såsom din computer, bil eller køleskab. Hvert af disse objekter har identificerende kvaliteter, såsom højde, vægt og farve. De har hver deres forskellige anvendelser, såsom at arbejde med Excel, transportere dig over lange afstande eller holde letfordærvelige fødevarer kolde.
VBA-objekter har også identificerbare egenskaber og brugsmetoder. En regnearkscelle er et objekt, og blandt dets beskrivelige funktioner (dens egenskaber) er dets adresse, højde og formaterede fyldfarve. En projektmappe er også et VBA-objekt, og blandt dens brugbare funktioner (dens metoder) er dens muligheder for at blive åbnet, lukket og tilføjet et diagram eller en pivottabel.
I Excel beskæftiger du dig dagligt med projektmapper, regneark og intervaller. Du tænker sandsynligvis på hvert af disse objekter som alle en del af Excel, der ikke rigtig adskiller dem i dit sind. Dog tænker Excel på disse internt som alle en del af en hierarkisk model kaldet Excel Object Model. Excel-objektmodellen er et klart defineret sæt af objekter, der er struktureret i overensstemmelse med relationerne mellem dem.
Forstå genstande
I den virkelige verden kan du beskrive alt, hvad du ser som et objekt. Når du ser på dit hus, er det en genstand. Dit hus har værelser; disse rum er også separate objekter. Disse værelser kan have skabe. Disse skabe er ligeledes genstande. Når du tænker på dit hus, værelserne og skabene, kan du se et hierarkisk forhold mellem dem. Excel fungerer på samme måde.
I Excel er Application-objektet det altomfattende objekt - svarende til dit hus. Inde i Application-objektet har Excel en projektmappe. Inde i en projektmappe er der et arbejdsark. Inden i det er en rækkevidde. Disse er alle objekter, der lever i en hierarkisk struktur.
For at pege på et bestemt objekt i VBA kan du krydse objektmodellen. For eksempel, for at komme til celle A1 på ark 1, kan du indtaste denne kode:
Activeworkbook.Sheets("Sheet1").Range("A1").Vælg
I de fleste tilfælde er objektmodelhierarkiet forstået, så du behøver ikke at skrive hvert niveau. Indtastning af denne kode fører dig også til celle A1, fordi Excel udleder, at du mener den aktive projektmappe og det aktive ark:
Range("A1"). Vælg
Faktisk, hvis du allerede har din markør i celle A1, kan du ganske enkelt bruge ActiveCell-objektet, hvilket negerer behovet for at stave intervallet:
Activecell.Select
Forståelse af samlinger
Mange af Excels objekter tilhører samlinger , som i det væsentlige er grupper af lignende objekter. På samme måde ligger dit hus i et kvarter, som er en samling af huse. Hvert kvarter ligger i en samling af kvarterer kaldet en by. Excel betragter samlinger som selve objekter.
I hvert projektmappeobjekt har du en samling af arbejdsark. Worksheets-samlingen er et objekt, som du kan kalde på gennem VBA. Hvert regneark i din projektmappe findes i samlingen Arbejdsark.
Hvis du vil henvise til et regneark i samlingen Arbejdsark, kan du henvise til det ved dets placering i samlingen, som et indeksnummer, der starter med 1, eller ved dets navn, som citeret tekst. Hvis du kører følgende to linjer kode i en projektmappe, der kun har ét regneark kaldet MySheet, gør de begge det samme:
Arbejdsark(1). Vælg
Arbejdsark ("Mit Ark"). Vælg
Hvis du har to regneark i den aktive projektmappe, der har navnene MySheet og YourSheet, i den rækkefølge, kan du henvise til det andet regneark ved at skrive en af disse udsagn:
Arbejdsark(2). Vælg
Arbejdsark ("Dit ark"). Vælg
Hvis du vil henvise til et regneark i en projektmappe kaldet MySheet i en bestemt projektmappe, som ikke er aktiv, skal du kvalificere arbejdsarkreferencen og projektmappereferencen som følger:
Workbooks("MyData.xls").Worksheets("MySheet").Vælg
Forstå egenskaber
Egenskaber er i bund og grund en genstands egenskaber. Dit hus har en farve, en kvadratmeter, en alder og så videre. Nogle egenskaber, såsom farven på dit hus, kan ændres. Andre egenskaber, såsom det år dit hus blev bygget, kan ikke ændres.
Ligeledes har et objekt i Excel, såsom Worksheet-objektet, en arknavnegenskab, der kan ændres, og en Rows.Count-rækkeegenskab, der ikke kan.
Du refererer til et objekts egenskab ved at henvise til objektet og derefter til egenskaben. For eksempel kan du ændre navnet på dit regneark ved at ændre dets Navn-egenskab.
I dette eksempel omdøber du Sheet1 til MySheet:
Sheets("Sheet1").Name = "Mit Ark"
Nogle egenskaber er skrivebeskyttet, hvilket betyder, at du ikke kan tildele dem en værdi direkte. Et eksempel på en skrivebeskyttet egenskab er egenskaben Tekst for celle, som giver det formaterede udseende af en værdi i en celle. Du kan ikke overskrive eller ændre det.
Forståelse af metoder
Metoder er de handlinger, der kan udføres mod et objekt. Det hjælper at tænke på metoder som verber. Du kan for eksempel male dit hus; i VBA, kan det oversættes til
hus.maling
Et simpelt eksempel på en Excel-metode er Select-metoden for Range-objektet:
Range("A1"). Vælg
En anden er Copy-metoden for Range-objektet:
Range("A1"). Kopi
Nogle metoder har parametre, der kan diktere, hvordan metoderne anvendes. For eksempel kan Indsæt-metoden bruges mere effektivt ved eksplicit at definere Destinationsparameteren:
ActiveSheet.Paste Destination:=Range("B1")