CreateObject i VBA - Hur använder jag CreateObject-funktionen i VBA?

Innehållsförteckning

CreateObject-funktion i VBA

Objekt är mycket viktiga begrepp i VBA-kodning och att förstå att ett objekts arbetsmodell är ganska komplex. När vi refererar till objekten i VBA-kodning gör vi det på två sätt, det vill säga "Early Binding" och "Late Binding." "Tidig bindning" är processen att ställa in objektreferensen från VBA: s referensbibliotek, 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 hjälp av 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å funktionen Skapa objekt returnerar referensen till ett objekt som initierats av en Active X-komponent.

Nedan är syntaxen för CreateObject-funktionen 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.

Exempel 1

Nu kommer vi att se hur man initierar PowerPoint-applikationer från excel med CreateObject-funktionen 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 ser vi ingen IntelliSense-lista som visar relaterade sökningar när vi börjar skriva ordet "PowerPoint". 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 "Objekt" måste vi ställa in referensen till objektet med hjälp av nyckelordet "Set". Genom att ange nyckelordet "Ange", nämna variabeln och sätt ett likhetstecken.

Koda:

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

Öppna nu CreateObject-funktionen.

Eftersom vi refererar till det externa objektet för "PowerPoint" för parametern "Klass" i funktionen Skapa objekt, nämn 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 metoden Create Object eller metoden för sen bindning ä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änder du "Visible" -egenskapen och anger 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 i PPT, definiera nedanstående 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 "PowerPoint" -programmet ö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 ett 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 att excel kalkylblad från applikationen excel, ange “Excel. Ark ”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 kunna 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 kan vi starta en excel-arbetsbok från andra Microsoft-produkter genom att använda koden nedan.

Koda:

Sub CreateObject_Example3 () Dim ExlWb som objektuppsättning ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Saker att komma ihåg om CreateObject i VBA

  • I VBA används CreateObject-funktionen för att referera till objekt.
  • Skapa objekt-funktion orsakar en sen bindande process.
  • Med hjälp av funktionen skapa objekt får vi inte tillgång till IntelliSense-listan över VBA.

Intressanta artiklar...