VBA CreateObject (Opprett objekt)

Innholdsfortegnelse

Denne artikkelen viser deg hvordan du bruker Create Object -metoden i VBA.

VBA er et objektorientert språk - det bruker prosedyrer for å kontrollere og lage objekter.

Lag objekt

Vi kan bruke metoden Opprett objekt til å lage et objekt i et Microsoft Office -program. For eksempel, hvis vi skriver VBA -kode i Excel, og ønsker å åpne en kopi av Word, kan vi bruke metoden Opprett objekt til å opprette en ny forekomst av Word.

For eksempel:

12345 Sub CreateWordInstance ()Dim wdApp som objektSett wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueSlutt Sub

På samme måte kan vi opprette en ny forekomst av PowerPoint eller Access.

12345 Sub CreatePowerPoint -applikasjonDim ppApp som objektAngi ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = TrueSlutt Sub

Vi kan også bruke Create Object til å lage andre objekter enn Application Object. Vi kan for eksempel bruke det til å lage et Excel -ark.

1234567 Sub CreateExcelSheet ()Dim xlark som objektSett xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TruexlSheet.Application.Range ("A2") = "God morgen"Sett xlSheet = IngentingSlutt Sub

Imidlertid oppretter dette faktisk en ny forekomst av Excel - det oppretter ikke arket i forekomsten som allerede er åpen. Av den grunn må vi sette Application of the new sheet (ie: the new instance of Excel) til Visible for å se objektet.

I alle eksemplene ovenfor bruker vi sen binding - derfor deklarerer vi variablene som objekter. Vi kan også bruke Early Binding ved å sette en referanse til Word eller PowerPoint i vårt VBA -prosjekt og deretter skrive delprosedyren som vist nedenfor. For å forstå mer om sen og tidlig binding, klikk her.

For det første for tidlig binding, i VBE, satte vi en referanse til Microsoft Word.

I Meny bar, velg Verktøy> Referanser og bla ned for å finne referansen til Microsoft Word 16.0 Object Library.

Kontroller at referansen er merket, og klikk deretter OK.

MERK: versjonen er kanskje ikke 16.0, alt avhenger av hvilken versjon av Microsoft Office du kjører på PCen!

Nå erklærer vi objektet ved å bruke tidlig binding - dette betyr at i stedet for å erklære wdApp som et objekt, erklærer vi det som et Word.Application. Resten av koden er den samme som da vi brukte Sent binding ovenfor.

12345 Sub CreateWordInstance ()Dim wdApp som nytt Word.ApplicationSett wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueSlutt Sub
wave wave wave wave wave