

Introducción
Compartir información sobre distintas aplicaciones es una de las características más potentes que posee Windows. Al compartir información, lo que realmente se está haciendo es compartir objetos que son creados por dos o más aplicaciones Windows distintas. Aquí es donde entra en juego OLE, sentando las bases para crear y compartir objetos entre distintas aplicaciones. Visual Basic actúa como nexo entre las aplicaciones Windows al permitir el uso de objetos OLE en sus aplicaciones. Se pueden tener en un mismo formulario de Visual Basic una hoja de cálculo de Excel y un documento de Word.
Visual Basic puede utilizar los objetos de otras aplicaciones de la misma forma que cualquier otro objeto de Visual Basic. Puede establecer o leer propiedades, utilizar sus métodos, etc... Esto se denomina Automatización OLE.
El contenedor OLE
Mediante el uso del control contenedor OLE, puedes crear formularios de Visual Basic en los que se incluya información proveniente de distintas aplicaciones Windows.
Estos formularios son conocidos como documentos compuestos, en los que la funcionalidad que se necesita no la proporciona la aplicación creada por Visual Basic, sino que se aprovecha de las aplicaciones que crean los objetos insertados. Así, el equipo donde se ejecute la aplicación Windows como hoja de cálculo Excel o procesador de textos como Word no necesitarán programar para conseguir que la aplicación presente la funcionalidad de dichas aplicaciones, sino que puedes utilizarlas desde tu aplicación. Al pulsar el control OLE en la caja de herramientas de Visual Basic nos aparecerá el siguiente cuadro de diálogo:
En este cuadro nos aparecen los distintos tipos de objetos que podemos insertar en el formulario. Estos objetos provienen de las aplicaciones compatibles con OLE que tengas instaladas en tu equipo.
Cuando una aplicación se instala en un ordenador queda registrada en el Registro de Windows. Este registro es como una base de datos don Windows guarda información referente a las aplicaciones que tiene instaladas. Entre otras cosas se guardan los objetos insertables que ofrecen dichas aplicaciones y que después nos aparecerán en el cuadro de diálogo insertar objeto.
Se puede insertar en un formulario un objeto utilizando la opción Cerrar Nuevo o utilizar uno ya existente mediante la opción cerrar desde archivo. En este último caso tienes que especificar el archivo que posee el objeto a insertar.
Si quieres que el objeto insertado aparezca en el formulario como un icono, puedes activar la casilla mostrar como icono del cuadro de diálogo insertar objeto.
Puedes indicar que el objeto sea incrustado o vinculado. Al incrustar un objeto se crea una copia y se guarda en la aplicación Visual Basic, por lo que sólo se podrá usar en esta.
Al vincular un objeto, éste sigue estando almacenado en el archivo original, guardándose en la aplicación una referencia al mismo y no el objeto en sí.
Edición del objeto
Cuando insertas un objeto a través del control contenedor OLE, estás en disposición de editar el objeto con la aplicación creadora del mismo. Para ello lo único que tienes que hacer es doble click sobre el objeto.
Al activar el objeto haciendo doble click, la aplicación servidora es iniciada y el usuario puede interactuar con ella utilizando toda la funcionalidad que presente. En este sentido es importante indicar aplicaciones que permitan que la edición sea en el propia control contenedor (Edición Visual), y otras en la que la edición se produce en una ventana independiente.
Para que la edición del objeto sea en el propio contenedor OLE, es necesario haber incrustado el objeto, ya que toda vinculación producirá que la aplicación servidora se muestren en una ventana independiente. Por otra parte, si el objeto se representa como un icono en el formulario, también se presentará en una ventana independiente la aplicación servidora. Cuando la aplicación servidora se muestra en una ventana independiente, no existen problemas para presentar los menús y barras de herramientas de la misma.
Pero si el formulario donde has insertado un objeto posee menús o barras de herramientas y la edición del objeto se produce en el propio contenedor, tienes que negociar dichos elementos, es decir, tienes que indicar como se han de mostrar.
Si quieres que los menús de la aplicación servidora se muestren al editar el objeto, es necesario que el formulario donde está insertado el objeto posea un elemento de menú, aunque esté no visible. Además en el editor de menús puedes especificar en qué posición deben de mostrarse cuando se edite el objeto en el contenedor OLE. La propiedad NegociatePosition que aparece en el editor de menús, establece la posición de los elementos del menú de nuestro formulario.
Puede tener los siguientes valores:
0: Indica que dicho elemento del menú se verá cuando se edite el objeto, mostrándose únicamente el menú de la aplicación servidora.
1, 2 y 3: Establece donde se mostrará, pudiendo ser a la izquierda, centro o derecha.
Independientemente de la propiedad NegocitaPosition del menú, es necesario establecer la propiedad NegociateMenu del formulario a True. En otro caso, la negociación de menús no se llevará a cabo. Toda vinculación o uso de la opción Mostrar como Icono implicarán que el objeto se edite en una ventana independiente.
Objetos insertables
Algunas aplicaciones proporcionan objetos que pueden utilizarse como controles personalizados en Visual Basic. De esta forma se pueden agregar a la caja de herramientas de Visual Basic sin tener que utilizar el control contenedor OLE. Para esto utilizaremos el el menú contextual de la caja de herramientas o elegir Controles personalizados en el menú de herramientas.
Hola equipo
ResponderEliminarHasta el momento todo esta correcto.
Saludos