GetObject (Función)

Visual Basic VBLR

GetObject (Función)

       

Devuelve una referencia a un objeto proporcionado por un componente ActiveX.

Sintaxis

GetObject([pathname] [, class])

La sintaxis de la función GetObject consta de estos argumentos con nombre:

Parte Descripción
pathname Opcional; Variant (String). La ruta de acceso completa y el nombre del archivo que contiene el objeto que se va a recuperar. Si se omite pathname, se necesita class.
class Opcional; Variant (String). Una cadena que representa la clase del objeto.

El argumento class utiliza la sintaxis nombre_aplicación.tipo_objeto y consta de estas partes:

Parte Descripción
nombre_
aplicación
Requerido; Variant (String). El nombre de la aplicación que proporciona el objeto.
tipo_objeto Requerido; Variant (String). El tipo o clase de objeto que se va a crear.

Comentarios

Utilice la función GetObject para tener acceso a un objeto ActiveX desde un archivo y asignar el mismo a una variable de objeto. Utilice la instrucción Set para asignar el objeto devuelto por la función GetObject a la variable de objeto. Por ejemplo:

Dim CADObject As Object
Set CADObject = GetObject("C:\CAD\ESQUEMA.CAD")

Cuando se ejecuta este código, se inicia la aplicación asociada con el argumento pathname especificado y se activa el objeto del archivo especificado.

Si pathname es una cadena de longitud cero (""), GetObject devuelve una instancia del nuevo objeto del tipo especificado. Si se omite el argumento pathname, GetObject devuelve el objeto activo actual del tipo especificado. Si no existe ningún objeto del tipo especificado, se produce un error.

Algunas aplicaciones le permiten activar parte de un archivo. Agregue un signo de admiración (!) al final del nombre del archivo y a continuación escriba una cadena que identifique la parte del archivo que desea activar. Para obtener información acerca de cómo crear esta cadena, consulte la documentación de la aplicación que creó el objeto.

Por ejemplo, en una aplicación de dibujo puede tener muchas capas para un dibujo almacenado en un archivo. Podría utilizar el siguiente código para activar una capa dentro del dibujo llamado ESQUEMA.CAD:

Set LayerObject = GetObject("C:\CAD\ESQUEMA.CAD!Capa3")

Si no especifica el argumento class del objeto, Automatización determina la aplicación que se va a iniciar y el objeto que se va a activar, basándose en el nombre de archivo proporcionado. Algunos archivos, sin embargo, pueden admitir más de una clase de objeto. Por ejemplo, un dibujo puede admitir tres tipos diferentes de objetos: un objeto Application, un objeto Drawing y un objeto Toolbar, donde todos forman parte del mismo archivo. Para especificar qué objeto del archivo desea activar, utilice el argumento opcional class. Por ejemplo:

Dim MiObjeto As Object
Set MiObjeto = GetObject("C:\DIBUJOS\EJEMPLO.DRW", "FIGMENT.DIBUJO")

En el ejemplo, FIGMENT es el nombre de la aplicación de dibujo y DIBUJO es uno de los tipos de objeto que admite.

Una vez que se activa un objeto, haga referencia a él en el código mediante la variable de objeto que definió. En el ejemplo anterior tiene acceso a las propiedades y métodos del nuevo objeto mediante la variable de objeto MiObjeto. Por ejemplo:

MiObjeto.Line 9, 90
MiObjeto.InsertText 9, 100, "Hola a todos."
MiObjeto.SaveAs "C:\DIBUJOS\EJEMPLO.DRW"

Nota   Utilice la función GetObject cuando haya una instancia actual del objeto o si desea crear el objeto con un archivo ya cargado. Si no hay ninguna instancia actual y no desea iniciar el objeto con un archivo cargado, utilice la función CreateObject.

Si un objeto se ha registrado a sí mismo como un objeto de instancia simple, sólo se crea una instancia del objeto, independientemente del número de veces que se ejecute la función CreateObject. Con un objeto de instancia simple, GetObject siempre devuelve la misma instancia cuando se llama con la sintaxis de cadena de longitud cero ("") y produce un error si se omite el argumento pathname. No puede utilizar la función GetObject para obtener una referencia a una clase creada con Visual Basic.