VBA CreateObject (Opret objekt)

Indholdsfortegnelse

Denne artikel viser dig, hvordan du bruger metoden Opret objekt i VBA.

VBA er et objektorienteret sprog - det bruger procedurer til at styre og oprette objekter.

Opret objekt

Vi kan bruge metoden Opret objekt til at oprette et objekt i et Microsoft Office -program. For eksempel, hvis vi skriver VBA -kode i Excel og ønsker at åbne en kopi af Word, kan vi bruge metoden Opret objekt til at oprette en ny forekomst af Word.

For eksempel:

12345 Sub CreateWordInstance ()Dim wdApp som objektIndstil wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueAfslut Sub

På samme måde kan vi oprette en ny forekomst af PowerPoint eller Access.

12345 Sub CreatePowerPoint -applikationDim ppApp som objektIndstil ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = TrueAfslut Sub

Vi kan også bruge Opret objekt til at oprette andre objekter end applikationsobjektet. Vi kan f.eks. Bruge det til at oprette et Excel -ark.

1234567 Sub CreateExcelSheet ()Dim xlark som objektIndstil xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TruexlSheet.Application.Range ("A2") = "Godmorgen"Indstil xlSheet = IntetAfslut Sub

Dette skaber imidlertid faktisk en ny forekomst af Excel - det opretter ikke arket i den forekomst, der allerede er åben. Af denne grund skal vi indstille Anvendelse af det nye ark (dvs. den nye forekomst af Excel) til Synlig for at se objektet.

I alle eksemplerne ovenfor bruger vi sen binding - derfor erklærer vi variablerne som objekter. Vi kan også bruge Early Binding ved at angive en reference til Word eller PowerPoint i vores VBA -projekt og derefter skrive delproceduren som vist nedenfor. For at forstå mere om sen og tidlig binding, klik her.

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

I Menu bar, vælg Værktøjer> Referencer og rul ned for at finde referencen til Microsoft Word 16.0 Object Library.

Sørg for, at referencen er markeret, og klik derefter på OKAY.

BEMÆRK: versionen er muligvis ikke 16.0, alt afhænger af hvilken version af Microsoft Office du kører på din pc!

Nu erklærer vi objektet ved hjælp af tidlig binding - det betyder, at vi i stedet for at erklære wdApp som et objekt erklærer det som et Word.Application. Resten af ​​koden er den samme som da vi brugte Sent binding ovenfor.

12345 Sub CreateWordInstance ()Dim wdApp som nyt Word.ApplicationIndstil wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueAfslut Sub

Du vil bidrage til udviklingen af ​​hjemmesiden, at dele siden med dine venner

wave wave wave wave wave