CreateObject en VBA - ¿Cómo usar la función CreateObject en VBA?

Tabla de contenido

Función CreateObject en VBA

Los objetos son conceptos muy importantes en la codificación de VBA y la comprensión de que el modelo de trabajo de un objeto es bastante complejo. Cuando hacemos referencia a los objetos en la codificación VBA, lo hacemos de dos formas, es decir, "Enlace temprano" y "Enlace tardío". "Early Binding" es el proceso de establecer la referencia del objeto desde la biblioteca de referencias del VBA, y cuando enviamos el archivo a otra persona, también requiere establecer la referencia a esos objetos respectivos. Sin embargo, "Late Binding" no requiere que el usuario establezca ninguna referencia de objeto porque, en la codificación de enlace tardío, establecemos la referencia al objeto respectivo utilizando la función VBA "CreateObject".

¿Qué es CreateObject en Excel VBA?

"Crear objeto", como dice el propio nombre, creará el objeto mencionado desde Excel VBA. Entonces, la función Create Object devuelve la referencia a un objeto iniciado por un componente Active X.

A continuación se muestra la sintaxis de la función CreateObject en VBA

  • Clase: El nombre del objeto que estamos intentando iniciar y establecer la referencia a la variable.
  • (Nombre del servidor): este es un parámetro opcional; si se ignora, utilizará únicamente la máquina local.

Ejemplo de función Crear objeto en Excel VBA

A continuación se muestran los ejemplos de VBA CreateObject.

Ejemplo 1

Ahora veremos cómo iniciar la aplicación de PowerPoint desde Excel usando la función CreateObject en VBA. Abra el archivo de Excel y vaya a la ventana del editor de Visual Basic presionando la tecla ALT + F11 .

Código:

Sub CreateObject_Example1 () End Sub

Declare la variable como PowerPoint.Application.

Como puede ver arriba, cuando comenzamos a escribir la palabra "PowerPoint", no vemos ninguna lista de IntelliSense que muestre las búsquedas relacionadas. Esto se debe a que "PowerPoint" es un objeto externo. Pero nada de qué preocuparse declare la variable como "Objeto".

Código:

Sub CreateObject_Example1 () Dim PPT As Object End Sub

Dado que hemos declarado la variable como "Objeto", necesitamos establecer la referencia al objeto utilizando la palabra clave "Establecer". Al ingresar la palabra clave "Establecer", mencione la variable y coloque un signo igual.

Código:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = End Sub

Ahora abra la función CreateObject.

Dado que estamos haciendo referencia al objeto externo de "PowerPoint" para el parámetro "Clase" de la función Crear objeto, mencione el nombre del objeto externo entre comillas dobles como "PowerPoint.Application".

Código:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") End Sub

Ahora la función Crear objeto iniciará la aplicación de PowerPoint. Una vez que se inicia el objeto, debemos hacerlo visible usando el nombre de la variable.

Uno de los problemas con el método Create Object o el método de enlace tardío es que no podemos ver la lista de IntelliSense en ese momento. Debe estar absolutamente seguro del código que está escribiendo.

Para la variable "PPT", use la propiedad "Visible" y establezca el estado como "Verdadero".

Código:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True End Sub

Para agregar una diapositiva a PPT, defina el código VBA de la siguiente línea.

Código:

Sub CreateObject_Example1 () Dim PPT As Object Set PPT = CreateObject ("PowerPoint.Application") PPT.Visible = True PPT.Presentations.Add End Sub

Ahora ejecute el código manualmente o mediante la tecla F5 y verá que se abre la aplicación "PowerPoint".

Una vez habilitada la aplicación de PowerPoint usando la variable “PPT”, podemos comenzar a acceder a la aplicación de PowerPoint.

Ejemplo # 2

Ahora veremos cómo iniciar una aplicación de Excel usando la función CreateObject en VBA. Una vez más, declare la variable como "Objeto".

Código:

Sub CreateObject_Example2 () Dim ExcelSheet como objeto End Sub

The moment we declare the variable as an object, it causes late binding, and we need to use the “Set” keyword to set the reference for the required object.

Since we are referencing to excel worksheet from the application excel, enter “Excel. Sheet” in double-quotes.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") End Sub

Once the reference for the excel sheet is set, we need to make it visible to use it. This is similar to how we made the PowerPoint application visible.

Code:

Sub CreateObject_Example2() Dim ExcelSheet As Object Set ExcelSheet = CreateObject("Excel.Sheet") ExcelSheet.Application.Visible = True End Sub

Now it will activate the excel worksheet.

Similarly, to initiate an excel workbook from other Microsoft products, we can use the below code.

Code:

Sub CreateObject_Example3 () Dim ExlWb como conjunto de objetos ExlWb = CreateObject ("Excel.Application") ExlWb.Application.Visible = True End Sub

Cosas para recordar sobre CreateObject en VBA

  • En VBA, la función CreateObject se usa para hacer referencia a objetos.
  • La función Crear objeto provoca un proceso de enlace tardío.
  • Usando la función de creación de objeto, no podemos acceder a la lista IntelliSense de VBA.

Articulos interesantes...