Fundamentos de la programación Visual Basic para Aplicaciones (VBA).
Interfaz de Usuario.
El Entorno de Desarrollo (IDE) de Visual Basic para Aplicaciones (VBA) es el sitio donde tendrálugar el desarrollo de nuestros programas para Inventor. El IDE es la interfaz gráfica empleada
para el desarrollo de las aplicaciones, muy similar a las que se utilizan en otras aplicaciones
como AutoCAD, Microsoft Access o Excel. Para mostrar el IDE se puede emplear la opción de
Menú Herramientas>Macro>Editor Visual Basic o simplemente la combinación de teclas
ALT+F11.
Explorando la Interfaz de Usuario
El IDE se compone de distintas ventanas siendo las principales las que se muestran en laFigura 2. Las opciones del menú Ver permiten controlar la visibilidad de las diferentes
ventanas. Para obtener ayuda sensible al contexto se puede hacer clic en la ventana deseada
y presionar la tecla F1.
- Menús y Barras de Herramientas. Como otras aplicaciones Windows, VBA permiteacceder a los comandos mediante menús y barras de herramientas. Las Barras deHerramientas “Estándar”, “Depuración”, y “Edición” se muestran en la Figura 1.
- El Explorador de Proyectos muestra una lista de los proyectos cargados y suscomponentes.
- La ventana Propiedades muestra un listado de las propiedades accesibles en tiempo dediseño del objeto seleccionado y sus valores.
- La ventana de Código es donde se escribe y edita el código Visual Basic. Pueden habervarias ventanas de código abiertas simultáneamente, permitiéndose copiar y pegar entreellas.
- La ventana UserForm permite crear diálogos y formularios para el proyecto.
- El Cuadro de Herramientas muestra los controles standard Visual Basic así comocualesquiera otros controles ActiveX u objetos insertables que se hubieran añadido alproyecto.
- La ventana Inmediato permite teclear o pegar una línea de código y evaluarla pulsandoINTRO. También se muestran en esta ventana los resultados de las expresiones
Debug.Print
. - La ventana Inspecciones permite ver el valor actual de las expresiones que seespecifiquen.
El Explorador de Proyectos.
Esta ventana muestra una vista en árbol de todos los componentes de los proyectos cargados en el IDE.Aquí se listan todos los formularios, módulos de código y módulos de clase asociados a cada proyecto.
Además del posible proyecto de Usuario (en este caso de nombre CreaPieza, se pueden ver dos proyectos
que siempre existen, el Proyecto de Aplicación que contiene las macros que se desea estén siempre
disponibles y el Proyecto de Documento en el que se puede incluir cualquier macro de uso específico para
un determinado documento (de parte, conjunto, etc.) que estuviera abierto en ese momento en Inventor.
Figura 2. Explorador de Proyectos.
La Ventana de Código
Este es el lugar donde se realiza la mayor parte del trabajo de desarrollo. Puede haber variasventanas abiertas como muestra la Figura 3.
La Ventana de Propiedades.
un formulario. Una propiedad como Caption, que contiene el texto de la barra del título, se suele definir de manera definitiva al momento de diseñar el formulario empleando la interfaz de la Ventana de Propiedades.
Pero en otras ocasiones las propiedades deberán definirse durante la ejecución del programa utilizando las expresiones de código pertinentes. Algunas propiedades además, sólo están disponibles en tiempo de ejecución y no en tiempo de diseño.
Ventana de la aplicación.
Ventanas, Eventos y Mensajes.
Las características de Windows como sistema operativo pueden resumirse en tres conceptos básicos: ventanas, eventos y mensajes.- Una ventana es una región rectangular de la pantalla que dispone de su propio borde. La ventana de dibujo de Inventor, un documento de Word y la ventana donde se compone un mensaje del correo electrónico son ejemplos de ventanas. Pero son también ventanas los botones de comando, los cuadros de texto, las barras de menú, etc. Cada ventana posee un identificador propio, hWnd en lenguaje de programación. Este identificador se emplea por Windows para controlar cada ventana.
- Existe en Windows un mecanismo que vigila constantemente para detectar cualquier signo de actividad en las ventanas. Esta actividad, que denominaremos eventos pueden ser provocados ya sea por un clic del ratón, el presionar una tecla, el código de un programa o la acción de otra ventana.
- Cada vez que se dispara un evento, se recibe un mensaje en el Sistema Operativo, que lo propaga entre las demás ventanas. Éstas pueden entonces responder según sus propias instrucciones al evento con las acciones pertinentes, por ejemplo repintarse al quedar expuesta por el desplazamiento o cierre de otra ventana.
Programación Dirigida por Eventos.
En la programación dirigida por eventos tanto la estructura como la ejecución de los programasvan determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.Para entender la programación dirigida por eventos, podemos oponerla a lo que no es:mientras en la programación secuencial es el programador el que define cuál va a ser el flujodel programa, en la programación dirigida por eventos será el propio usuario el que dirija el flujodel programa.
Aunque en la programación secuencial puede haber intervención de un agente externo alprograma, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no encualquier momento y en cualquier orden como en el caso de la programación dirigida poreventos.
El creador de un programa dirigido por eventos define los eventos que manejarán su programay las acciones que se realizarán al producirse cada uno de ellos.Al comenzar la ejecución del programa se llevan a cabo las inicializaciones y a continuación elprograma queda bloqueado hasta que se produzca algún evento. Cuando alguno de loseventos esperados por el programa tiene lugar, el programa pasa a ejecutar el código delcorrespondiente controlador de evento.
Por ejemplo, puede ser necesario que el usuario escriba algo en un Cuadro de Texto (TextBox)antes de habilitar para su uso un Botón de Comando (CommandButton). En ese caso el códigoasociado al evento Change (cambio de contenido) del control TextBox puede incluir laexpresión que habilite el Botón de Comando como muestra el siguiente ejemplo:
Private Sub TextBox1_Change()
If Len(TextBox1.Text) > 0 Then
CommandButton1.Enabled = True
Else
CommandButton1.Enabled = False
End If
End Sub
Cada vez que se agrega o quite texto del control TextBox se ejecutará este procedimiento. El código comprueba la longitud del texto y si se da la condición de que sea igual a cero deshabilita el control CommandButton. Para ello se recurre a la condicional If, que es una de las estructuras de control clásicas presente en todos los lenguajes de programación.