VBA CreateObject (Skapa objekt)

Innehållsförteckning

Den här artikeln visar dig hur du använder metoden Skapa objekt i VBA.

VBA är ett objektorienterat språk - det använder procedurer för att styra och skapa objekt.

Skapa objekt

Vi kan använda metoden Skapa objekt för att skapa ett objekt i ett Microsoft Office -program. Om vi ​​till exempel skriver VBA -kod i Excel och vill öppna en kopia av Word kan vi använda metoden Skapa objekt för att skapa en ny instans av Word.

Till exempel:

12345 Sub CreateWordInstance ()Dim wdApp som objektAnge wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueAvsluta Sub

På samma sätt kan vi skapa en ny instans av PowerPoint eller Access.

12345 Sub CreatePowerPointApplicationDim ppApp som objektAnge ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = TrueAvsluta Sub

Vi kan också använda Skapa objekt för att skapa andra objekt än applikationsobjektet. Vi kan till exempel använda det för att skapa ett Excel -ark.

1234567 Sub CreateExcelSheet ()Dim xlark som objektAnge xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = TruexlSheet.Application.Range ("A2") = "God morgon"Ange xlSheet = IngentingAvsluta Sub

Men detta skapar faktiskt en ny instans av Excel - det skapar inte arket i den instans som redan är öppen. Av den anledningen måste vi ställa in Applicering av det nya bladet (dvs. den nya förekomsten av Excel) till Synlig för att kunna se objektet.

I alla exemplen ovan använder vi sen bindning - därför deklarerar vi variablerna som objekt. Vi kan också använda Early Binding genom att ange en referens till Word eller PowerPoint i vårt VBA -projekt och sedan skriva delproceduren enligt nedan. För att förstå mer om sen och tidig bindning, klicka här.

Först för tidig bindning, inom VBE, sätter vi en referens till Microsoft Word.

I Meny bar, välj Verktyg> Referenser och rulla ner för att hitta referensen till Microsoft Word 16.0 Object Library.

Se till att referensen är markerad och klicka sedan på OK.

OBS: versionen kanske inte är 16.0, allt beror på vilken version av Microsoft Office du kör på din dator!

Nu deklarerar vi objektet med hjälp av tidig bindning - det betyder att vi, i stället för att deklarera wdApp som ett objekt, deklarerar det som ett Word.Application. Resten av koden är densamma som när vi använde sen bindning ovan.

12345 Sub CreateWordInstance ()Dim wdApp som nytt Word.ApplicationAnge wdApp = CreateObject ("Word.Application")wdApp.Visible = TrueAvsluta Sub

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave