VBA CreateObject

CreateObject-funktion i VBA

Objekt är mycket viktiga begrepp i VBA-kodning och förståelse för att ett objekts arbetsmodell är ganska komplex. När vi refererar till objekten i VBA-kodning gör vi det på två sätt, dvs. ”Early Binding” och ”Late Binding”. "Tidig bindning" är processen att ställa in objektreferensen från referensbiblioteket i VBA och när vi skickar filen till någon annan behöver de också ställa in referensen till respektive objekt. Men "Late Binding" kräver inte att användaren ställer in några objektreferenser eftersom vi vid sen bindningskodning ställer in referensen till respektive objekt med VBA "CreateObject" -funktionen.

Vad är CreateObject i Excel VBA?

"Skapa objekt" som namnet själv säger att det kommer att skapa det nämnda objektet från Excel VBA. Så, Skapa objekt-funktionen returnerar referensen till ett objekt som initierats av en Active X-komponent.

Nedan är syntaxen för funktionen CreateObject i VBA

  • Klass: Namnet på objektet som vi försöker initiera och ställa in referensen till variabeln.
  • [Servernamn]: Detta är en valfri parameter, om den ignoreras kommer den endast att använda den lokala maskinen.

Exempel på Skapa objektfunktion i Excel VBA

Nedan följer exemplen på VBA CreateObject.

Du kan ladda ner denna VBA CreateObject Excel-mall här - VBA CreateObject Excel-mall

Exempel nr 1

Nu kommer vi att se hur man startar PowerPoint-applikationen från Excel med funktionen CreateObject i VBA. Öppna Excel-filen och gå till Visual Basic Editor-fönstret genom att trycka på ALT + F11- tangenten.

Koda:

 Sub CreateObject_Example1 () Avsluta Sub 

Deklarera variabeln som PowerPoint.Application.

Som du kan se ovan när vi börjar skriva ordet "PowerPoint" ser vi ingen intellisense-lista som visar relaterade sökningar. Detta beror på att "PowerPoint" är ett externt objekt. Men inget att oroa sig förklarar variabeln som ”Objekt”.

Koda:

 Sub CreateObject_Example1 () Dimma PPT som Object End Sub 

Eftersom vi har förklarat variabeln som "Object" måste vi ställa in referensen till objektet med hjälp av "Set" nyckelordet. Genom att ange nyckelordet "Ange" nämn variabeln och sätt ett likhetstecken.

Koda:

 Sub CreateObject_Example1 () Dim PPT som objektuppsättning PPT = End Sub 

Öppna nu CreateObject-funktionen.

Eftersom vi hänvisar till det externa objektet för "PowerPoint" för parametern "Klass" för funktionen Skapa objekt nämna det externa objektnamnet i dubbla citat som "PowerPoint.Application".

Koda:

 Sub CreateObject_Example1 () Dim PPT som objektuppsättning PPT = CreateObject ("PowerPoint.Application") End Sub 

Nu startar funktionen Skapa objekt PowerPoint-applikationen. När objektet har initierats måste vi göra det synligt med hjälp av variabelnamnet.

Ett av problemen med Create Object-metoden eller den sena bindningsmetoden är att vi inte får se intellisense-listan vid tidpunkten, du måste vara helt säker på koden du skriver.

För variabeln "PPT" använd "Visible" -egenskapen och ställ in status som "True".

Koda:

 Sub CreateObject_Example1 () Dim PPT som objektuppsättning PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

För att lägga till en bild till PPT definierar du nedan VBA-kod.

Koda:

 Sub CreateObject_Example1 () Dim PPT som objektuppsättning PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

Kör nu koden manuellt eller genom F5-tangenten och se programmet "PowerPoint" öppnas.

När PowerPoint-applikationen är aktiverad med variabeln "PPT" kan vi börja komma åt PowerPoint-applikationen.

Exempel 2

Nu kommer vi att se hur man startar ett Excel-program med funktionen CreateObject i VBA. Återigen förklara variabeln som ”Objekt”.

Koda:

 Sub CreateObject_Example2 () Dim ExcelSheet som Object End Sub 

I det ögonblick vi förklarar variabeln som objekt orsakar den sen bindning och vi måste använda nyckelordet "Set" för att ställa in referensen för det önskade objektet.

Eftersom vi hänvisar till excel-kalkylblad från applikationen excel, ange "Excel.Sheet" i dubbla citat.

Koda:

 Sub CreateObject_Example2 () Dim ExcelSheet som objektuppsättning ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

När referensen för excel-arket har ställts in måste vi göra det synligt för att använda det. Detta liknar hur vi gjorde PowerPoint-applikationen synlig.

Koda:

 Sub CreateObject_Example2 () Dim ExcelSheet som objektuppsättning ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub 

Nu aktiverar Excel-kalkylbladet.

På samma sätt för att initiera en excel-arbetsbok från andra Microsoft-produkter kan vi använda nedanstående kod.

Koda:

 Sub CreateObject_Example3() Dim ExlWb As Object Set ExlWb = CreateObject("Excel.Application") ExlWb.Application.Visible = True End Sub 

Things to Remember About CreateObject in VBA

  • In VBA, the CreateObject function is used to reference objects.
  • Create Object function causes a late-binding process.
  • Using create object function we don’t get to access the intellisense list of VBA.