CreateObject a VBA | Com s'utilitza la funció CreateObject a VBA?

Funció CreateObject a VBA

Els objectes són conceptes molt importants en la codificació VBA i entenen que el model de treball d’un objecte és força complex. Quan fem referència als objectes de la codificació VBA, ho fem de dues maneres, és a dir, "Early Binding" i "Late Binding". "Early Binding" és el procés d'establir la referència d'objecte des de la biblioteca de referències de la VBA i, quan enviem el fitxer a una altra persona, també requereixen establir la referència a aquests objectes respectius. Tanmateix, "Late Binding" no requereix que l'usuari estableixi cap referència d'objecte, ja que en la codificació de late binding establim la referència a l'objecte respectiu mitjançant la funció VBA "CreateObject".

Què és CreateObject a Excel VBA?

"Crea objecte", ja que el propi nom diu que crearà l'objecte esmentat des de l'Excel VBA. Per tant, la funció Crea objecte retorna la referència a un objecte iniciat per un component Active X.

A continuació es mostra la sintaxi de la funció CreateObject a VBA

  • Classe: El nom de l'objecte que intentem iniciar i establir la referència a la variable.
  • [Nom del servidor]: Aquest és un paràmetre opcional, si s'ignora només utilitzarà la màquina local.

Exemple de funció de creació d'objectes a Excel VBA

A continuació es mostren els exemples de VBA CreateObject.

Podeu descarregar aquesta plantilla VBA CreateObject Excel aquí: plantilla VBA CreateObject Excel

Exemple 1

Ara veurem com iniciar l’aplicació PowerPoint des d’excel mitjançant la funció CreateObject a VBA. Obriu el fitxer Excel i aneu a la finestra de Visual Basic Editor prement el botó ALT + F11 clau.

Codi:

 Sub CreateObject_Example1 () Final Sub 

Declareu la variable com a PowerPoint.Application.

Com podeu veure més amunt quan comencem a escriure la paraula "PowerPoint", no veiem cap llista intel·ligent que mostri les cerques relacionades, perquè "PowerPoint" és un objecte extern. Però res de preocupació declara la variable com a "Objecte".

Codi:

 Sub CreateObject_Example1 () Atenueu PPT com a final d'objecte Sub 

Com que hem declarat la variable com a "Objecte", hem d'establir la referència a l'objecte mitjançant la paraula clau "Establir". En introduir la paraula clau "Estableix", esmenta la variable i posa un signe d'igualtat.

Codi:

 Sub CreateObject_Example1 () Dim PPT com a conjunt d'objectes PPT = End Sub 

Ara obriu la funció CreateObject.

Com que estem fent referència a l'objecte extern de "PowerPoint" per al fitxer "Classe" El paràmetre de la funció Crea objecte menciona el nom de l'objecte extern entre cometes com a "PowerPoint.Application".

Codi:

 Sub CreateObject_Example1 () Redueix PPT com a conjunt d'objectes PPT = CreateObject ("PowerPoint.Application") End Sub 

Ara la funció Crea objecte iniciarà l'aplicació PowerPoint. Un cop iniciat l'objecte, hem de fer-lo visible mitjançant el nom de la variable.

Un dels problemes amb el mètode Create Object o el mètode d’enllaç tardà és que no podem veure la llista intellisense en el moment que cal, heu d’estar absolutament segur del codi que escriviu.

Per a la variable "PPT", utilitzeu la propietat "Visible" i configureu l'estat com a "True".

Codi:

 Sub CreateObject_Example1 () Redueix PPT com a conjunt d'objectes PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub 

Per afegir una diapositiva a PPT, definiu el codi VBA de la línia següent.

Codi:

 Sub CreateObject_Example1 () Atenua PPT com a conjunt d'objectes PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub 

Ara executeu el codi manualment o mitjançant la tecla F5 i veureu com s'obre l'aplicació "PowerPoint".

Una vegada que l'aplicació PowerPoint estigui habilitada mitjançant la variable "PPT", podem començar a accedir a l'aplicació PowerPoint.

Exemple 2

Ara veurem com iniciar una aplicació d'Excel mitjançant la funció CreateObject a VBA. Torneu a declarar la variable com a "Objecte".

Codi:

 Sub CreateObject_Example2 () Atenueu el full Excel com a final d'objecte Sub 

En el moment en què declarem la variable com a objecte, provoca un enllaç tardà i hem d'utilitzar la paraula clau "Establir" per establir la referència de l'objecte requerit.

Com que fem referència al full de treball Excel de l'aplicació Excel, introduïu "Excel.Sheet" entre cometes dobles.

Codi:

 Sub CreateObject_Example2 () Atenueu ExcelSheet com a conjunt d'objectes ExcelSheet = CreateObject ("Excel.Sheet") End Sub 

Un cop establerta la referència per al full Excel, hem de fer-la visible per utilitzar-la. Això és similar a com vam fer visible l'aplicació PowerPoint.

Codi:

 Sub CreateObject_Example2 () Atenueu ExcelSheet com a conjunt d'objectes ExcelSheet = CreateObject ("Excel.Sheet") ExcelSheet.Application.Visible = Sub finalitat real 

Ara activarà el full de treball Excel.

De manera similar, per iniciar un llibre de treball Excel d'altres productes de Microsoft, podem utilitzar el codi següent.

Codi:

 Sub CreateObject_Example3 () Dim ExlWb As Object Object ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = Sub finalitat veritable 

Coses que cal recordar sobre CreateObject a VBA

  • A VBA, la funció CreateObject s’utilitza per fer referència a objectes.
  • La funció Crea objecte provoca un procés d'enllaç tardà.
  • Mitjançant la funció create object no podem accedir a la llista intel·ligent de VBA.