Ir al contenido principal

Eventos en VBA

Definición de eventos en Visual Basic

En Microsoft Visual Basic, un evento es un mensaje enviado por un objeto dentro de un programa al bucle principal del mismo, informándole que algo ha sucedido.



¿Y qué es un objeto?

Para no extendernos en explicaciones diremos que un objeto puede ser un formulario, puede ser un botón, puede ser un cuadro combinado, puede ser una sección de un formulario en Access, puede ser una hoja de un libro de Excel, puede ser un rango de celdas, puede ser un párrafo en Word, puede ser un mensaje de Outlook y eso que no me he extendido ;D

Ese "algo" puede variar ampliamente, desde un reloj corriendo a un clic del ratón producido por la intervención del usuario, una apertura de ventana o formulario por ejemplo en Access o un cambio de contenido en una celda de Excel por poner algún ejemplo.

El programa puede capturar este evento y utilizar la información dentro de este para tomar decisiones sobre otras operaciones.

Si analizamos cualquier objeto vemos que tiene asociados a él un montón de eventos, por ejemplo si en un formulario de Access dentro de un cuadro de texto entramos en sus propiedades y observamos los eventos posibles que dispone dicho objeto, por ejemplo en la siguiente imagen vemos los eventos que tiene un botón dentro de un formulario Access.



Como vemos el único evento que hace algo es en el que aparece el texto [Procedimiento de evento] y el evento se llama Al hacer clic.

Los demás eventos aunque se produzcan no pasaría nada ya que no tienen nada asociado.

Para explicar esto haremos una analogía usando el cuerpo humano:

Nos ponen anestesia en la boca y nos extirpan una muela, al tener anestesia no se produce dolor por lo tanto no reaccionamos, en cambio el evento se ha producido pero no ha habido reacción.
La reacción sería el código o macro pero si no hay ni código o macro  no hay reacción aunque el evento se haya producido.

Ejemplos

Visual Basic viene precargado con una gran cantidad de eventos pre-codificados. Estos eventos abarcan casi todos los aspectos de la operación del programa.

Algunos eventos relacionados con la interacción entre el cursor del ratón y un control en un formulario (por ejemplo un botón) incluyen los que mostramos en la imagen anterior, Al hacer clic, al recibir el enfoque….
Los eventos por lo general reciben nombres muy intuitivos para hacer la lectura del código de Visual Basic más fácil.

Como se ejecutan

Los eventos pueden ser desencadenados por un amplio número de situaciones.

Muchos son el resultado de la interacción del usuario, tales como el movimiento del ratón o la entrada del teclado.

El sistema operativo Windows también envía eventos, notificando al programa cuándo se minimiza o cuándo otra ventana se superpone a este.


Los objetos pueden desencadenar sus propios eventos, cuando una variable ha llegado a un cierto valor, por ejemplo. 

Comentarios

Entradas populares de este blog

Chrome: desactivar la opción “Abrir siempre archivos de este tipo”

En Chrome, al descargar un archivo aparecen tres opciones en el desplegable de la barra de descargas:

Combinar Correspondencia con varias cuentas en Outlook

A veces necesitamos realizar un mailing (Combinar correspondencia) y disponemos de varias cuentas de correo en nuestro Outlook. Comprobamos que no funciona el elegir una de ellas como predeterminada ya que para el envío por correspondencia usa un servicio llamado MAPI que no usa la cuenta predeterminada.  Antiguamente en versiones como la 2010 de office simplemente con cambiar el fichero de datos predeterminado de la cuenta bastaba para ello. Actualmente (nosotros usamos 365, equivalente a la 2016) la solución pasa por crear un perfil de correo en el que configuremos la cuenta que usaremos para combinar correspondencia. Adjuntamos un video en el que se explica en Windows 10 como crear un perfil de correo de una cuenta. Una vez creado ese perfil de Correo pasaríamos a realizar la combinación de Correspondencia y en el último paso cuando  realizamos la combinación de correspondencia nos solicitará el perfil a usar para poder enviar los correos y en ese caso elegiríamos el perfil asociado

Gif animado en Camtasia studio 8

 Si deseamos colocar un gif animado en Camtasia Studio 8 observamos que no es posible de forma directa ya que al importarlo lo incluye dentro de imágenes. El truco es convertirlo en un fichero AVI y para ello no hay nada como disponer de la página de conversión: Online Convert Al incorporarlo a nuestra película lo considera lógicamente un clip de video Et voilá