CreateObject (función)

Importante:  Este artículo se ha traducido con traducción automática; vea la declinación de responsabilidades. Para su referencia, puede encontrar la versión en inglés de este artículo aquí.

Nota: La función, el método, el objeto o la propiedad descritas en este tema se desactiva si se está ejecutando el servicio de expresión Microsoft Jet en modo de recinto de seguridad, lo que evita la evaluación de expresiones potencialmente no seguras. Para obtener más información sobre el modo de recinto de seguridad, busque "modo de recinto de seguridad" en la Ayuda.

Crea y devuelve una referencia a un objeto ActiveX.

Sintaxis

CreateObject ( clase [, nombre_de_servidor] )

La sintaxis de la función CreateObject tiene los siguientes argumentos:

Argumento

Descripción

clase

Obligatorio. Variant (Cadena). El nombre de la aplicación y la clase del objeto para crear.

nombre de servidor

Opcional. Variant (Cadena). El nombre del servidor de red donde se creará el objeto. Si el nombre de servidor es una cadena vacía (""), se usa el equipo local.


La claseargumento utiliza la sintaxis de la aplicación.ObjectType y tiene las siguientes partes:

Parte

Descripción

nombre de aplicación

Obligatorio. Variant (Cadena). El nombre de la aplicación que proporciona el objeto.

ObjectType

Obligatorio. Variant (Cadena). Tipo o clase del objeto a crear.


Comentarios

Todas las aplicaciones que admite la automatización proporcionan al menos un tipo de objeto. Por ejemplo, una aplicación de procesamiento de texto puede proporcionar un objeto Application , un objeto de documento y un objeto de barra de herramientas .

Para crear un objeto ActiveX, asigne el objeto devuelto por CreateObject a una variable de objeto:

Nota: Los ejemplos siguientes muestran el uso de esta función en un Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione la Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o varios términos en el cuadro de búsqueda.

' Declare an object variable to hold the object 
' reference. Dim as Object causes late binding.
Dim ExcelSheet As Object
Set ExcelSheet = CreateObject("Excel.Sheet")

Este código inicia la aplicación que se crea el objeto, en este caso, una hoja de cálculo Microsoft Office Excel 2007. Una vez que se crea un objeto, la referencia en el código mediante la variable de objeto que haya definido. En el ejemplo siguiente, que tener acceso a las propiedades y métodos del nuevo objeto mediante la variable de objeto, ExcelSheety otros objetos de Excel, incluido el objeto Application y la colección de Cells .

' Make Excel visible through the Application object.
ExcelSheet.Application.Visible = True
' Place some text in the first cell of the sheet.
ExcelSheet.Application.Cells(1, 1).Value = "This is column A, row 1"
' Save the sheet to C:\test.xls directory.
ExcelSheet.SaveAs "C:\TEST.XLS"
' Close Excel with the Quit method on the Application object.
ExcelSheet.Application.Quit
' Release the object variable.
Set ExcelSheet = Nothing

Declaración de una variable de objeto con la cláusula As Object crea una variable que puede contener una referencia a cualquier tipo de objeto. Sin embargo, el acceso al objeto mediante dicha variable límite enlazado; es decir, el enlace se produce cuando se ejecuta el programa. Para crear una variable de objeto que da como enlace anticipado, es decir, enlazar cuando se compile el programa, declare la variable de objeto con un Id. Por ejemplo, puede declarar y crear las siguientes referencias de Excel:

Dim xlApp As Excel.Application 
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.WorkSheet
Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Add
Set xlSheet = xlBook.Worksheets(1)

La referencia a través de una variable enlazada puede dar un mejor rendimiento, pero solo puede contener una referencia a la clase especificado en el declaración.

Puede pasar un objeto devuelto por la función CreateObject a una función que espera un objeto como un argumento. Por ejemplo, el siguiente código crea y pasa una referencia a un objeto Excel.Application:

Call MySub (CreateObject("Excel.Application"))

Puede crear un objeto en un equipo remoto pasando el nombre del equipo al argumento nombre_de_servidor de CreateObject. Ese nombre es el mismo que la parte del nombre del equipo de un recurso compartido: para un recurso compartido denominado "\\MyServer\Public", servidor es "MiServidor".

Nota: Consulte la documentación de COM (vea Microsoft Developer Network) para obtener más información sobre cómo hacer una aplicación visible en un equipo remoto. Deberá agregar una clave del registro para la aplicación.

El siguiente código devuelve el número de versión de una instancia de Excel que se ejecuta en un equipo remoto denominado MyServer:

Dim xlApp As Object
Set xlApp = CreateObject("Excel.Application", "MyServer")
Debug.Print xlApp.Version

Si el servidor remoto no existe o no está disponible, se produce un error de tiempo de ejecución.

Nota: Utilice CreateObject cuando no hay ninguna instancia actual del objeto. Si ya se está ejecutando una instancia del objeto, se inicia una nueva instancia y se crea un objeto del tipo especificado. Para utilizar la instancia actual, o para iniciar la aplicación y cargar un archivo, use la función GetObject .

Si un objeto se registró como un objeto de instancia única, no se crea una única instancia del objeto, importar cuántas veces se ejecute CreateObject .

Ejemplo

Este ejemplo usa la función CreateObject para establecer un (referencia)

xlApp

) a Excel. Utiliza la referencia para tener acceso a la propiedad Visible de Excel y, a continuación, se utiliza el método Salir de Excel para cerrarla. Por último, se libera la propia referencia.

Dim xlApp As Object    ' Declare variable to hold the reference.
Set xlApp = CreateObject("excel.application")
' You may have to set Visible property to True
' if you want to see the application.
xlApp.Visible = True
' Use xlApp to access Microsoft Excel's
' other objects.
xlApp.Quit ' When you finish, use the Quit method to close
Set xlApp = Nothing ' the application, then release the reference.

Nota: Declinación de responsabilidades de traducción automática: Este artículo se ha traducido con un sistema informático sin intervención humana. Microsoft ofrece estas traducciones automáticas para que los hablantes de otros idiomas distintos del inglés puedan disfrutar del contenido sobre los productos, los servicios y las tecnologías de Microsoft. Puesto que este artículo se ha traducido con traducción automática, es posible que contenga errores de vocabulario, sintaxis o gramática.

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×