Acest articol vă va arăta cum să utilizați metoda Create Object în VBA.
VBA este un limbaj orientat pe obiecte - folosește proceduri pentru a controla și crea obiecte.
Creați obiect
Putem folosi metoda Create Object pentru a crea un obiect într-o aplicație Microsoft Office. De exemplu, dacă scriem cod VBA în Excel și dorim să deschidem o copie a Word, putem folosi metoda Create Object pentru a crea o nouă instanță Word.
De exemplu:
12345 | Sub CreateWordInstance ()Dim wdApp Ca obiectSetați wdApp = CreateObject ("Word.Application")wdApp.Visible = AdevăratSfârșitul Sub |
În mod similar, putem crea o nouă instanță de PowerPoint sau Access.
12345 | Sub CreatePowerPointApplicationDim ppApp ca obiectSetați ppApp = CreateObject ("PowerPoint.Application")ppApp.Visible = AdevăratSfârșitul Sub |
De asemenea, putem folosi Create Object pentru a crea alte obiecte decât obiectul Application. De exemplu, îl putem folosi pentru a crea o foaie Excel.
1234567 | Sub CreateExcelSheet ()Dim xlSheet Ca obiectSetați xlSheet = CreateObject ("Excel.Sheet")xlSheet.Application.Visible = AdevăratxlSheet.Application.Range ("A2") = "Bună dimineața"Setați xlSheet = NimicSfârșitul Sub |
Cu toate acestea, acest lucru creează de fapt o nouă instanță de Excel - nu creează foaia în instanța care este deja deschisă. Din acest motiv, trebuie să setăm Aplicația noii foi (adică: noua instanță Excel) la Vizibil pentru a vedea obiectul.
În toate exemplele de mai sus, folosim legarea târzie - prin urmare declarăm variabilele ca obiecte. De asemenea, putem folosi Early Binding setând o referință la Word sau PowerPoint în proiectul nostru VBA și apoi scriind procedura secundară așa cum se arată mai jos. Pentru a înțelege mai multe despre legarea târzie și timpurie, faceți clic aici.
În primul rând pentru Early Binding, în cadrul VBE, am stabilit o referință la Microsoft Word.
În Meniul bara, selectați Instrumente> Referințe și derulați în jos pentru a găsi referința la Biblioteca de obiecte Microsoft Word 16.0.
Asigurați-vă că referința este bifată, apoi faceți clic pe BINE.
NOTĂ: este posibil ca versiunea să nu fie 16.0, totul depinde de ce versiune de Microsoft Office executați pe computer!
Acum, declarăm obiectul folosind Early Binding - aceasta înseamnă că, în loc să declarăm wdApp ca obiect, îl declarăm ca Aplicație Word. Restul codului este același ca atunci când am folosit Late Binding mai sus.
12345 | Sub CreateWordInstance ()Dim wdApp Ca Word nou. AplicațieSetați wdApp = CreateObject ("Word.Application")wdApp.Visible = AdevăratSfârșitul Sub |