Saltar al contenido principal

CreateObject (función)

Nota: Nos gustaría proporcionarle el contenido de ayuda actual lo más rápido posible en su idioma. Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido sea útil para usted. ¿Puede informarnos sobre si la información le ha sido útil al final de la página? Aquí tiene el artículo en inglés para que pueda consultarlo fácilmente.

Nota: La función, el método, el objeto o la propiedad que se describen en este tema está deshabilitado si el servicio de expresiones de Microsoft Jet se ejecuta 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 espacio aislado, busque "modo de recinto" en la ayuda.

Crea y devuelve una referencia a un objeto ActiveX.

Sintaxis

CreateObject ( clase [, nombreServidor] )

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

argumento

Descripción

clase

Obligatorio. Tipo Variant (Cadena). El nombre de la aplicación y la clase del objeto que se va a crear.

servidor

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


La claseargumento usa la sintaxis appname.objecttype y tiene estas partes:

Parte

Descripción

nombreaplicación

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

tipoobjeto

Obligatorio. Tipo Variant (Cadena). El tipo o clase de objeto que se va a crear.


Observaciones

Cada aplicación que admita la automatización proporciona al menos un tipo de objeto. Por ejemplo, una aplicación de procesamiento de texto puede proporcionar un objeto Application , un objeto Document y un objeto Toolbar .

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

Nota: En los siguientes ejemplos se muestra el uso de esta función en un módulo de Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o más 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")

En este ejemplo, automatizaremos un objeto de hoja de cálculo de Excel desde una base de datos de Access. Este código inicia la aplicación que crea el objeto, en este caso, una hoja de cálculo de Microsoft Excel. Una vez creado un objeto, se hace referencia al mismo en el código mediante la variable de objeto que haya definido. En el siguiente ejemplo, se obtiene acceso a las propiedades y los métodos del nuevo objeto mediante la variable de objeto, ExcelSheet, y otros objetos de Excel, entre los que se incluyen el objeto Application y la colección 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

Al declarar una variable de objeto con la cláusula As Object , se crea una variable que puede contener una referencia a cualquier tipo de objeto. Sin embargo, el acceso al objeto a través de esa variable es de enlace en tarde; es decir, el enlace se produce cuando se ejecuta el programa. Para crear una variable de objeto que tenga como resultado el enlace anticipado, es decir, enlazar cuando se compile el programa, declare la variable de objeto con un identificador de clase específico. 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 de límite anticipado puede ofrecer un mejor rendimiento, pero solo puede contener una referencia a la clase especificada en la 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 código siguiente crea y pasa una referencia a un objeto Excel. Application:

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

Puede crear un objeto en un equipo de red remoto pasando el nombre del equipo al argumento ServerName de CreateObject. Ese nombre es el mismo que la parte del nombre de la máquina de un nombre de recurso compartido: para un recurso compartido denominado "\\MyServer\Public", ServerName es "MiEquipo".

Nota:  Para obtener más información sobre cómo hacer que una aplicación esté visible en un equipo de red remoto, consulte la documentación de COM (consulte Microsoft Developer Network). Es posible que tenga que agregar una clave del registro para la aplicación.

El código siguiente 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 en tiempo de ejecución.

Nota:  Use CreateObject cuando no haya 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 usar la instancia actual, o iniciar la aplicación y hacer que cargue un archivo, use la función GetObject .

Si un objeto se registró como objeto de una sola instancia, solo se crea una instancia del objeto, independientemente de la cantidad de veces que se ejecute CreateObject .

Ejemplo

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

xlApp

) a Excel. Usa la referencia para obtener acceso a la propiedad visible de Excel y, a continuación, usa el método Quit de Excel para cerrarlo. 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.
Ampliar sus conocimientos de Office
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.

×