Documentos de Académico
Documentos de Profesional
Documentos de Cultura
detallado)
Objetivo
Visual Basic es uno de los lenguajes de programación más usados debido a su
simplicidad, mezclada con unas grandes posibilidades de desarrollo en entornos
gráficos.
Este curso tiene por objetivo dotar al alumno de la formación inicial necesaria para
realizar sencillas aplicaciones en Visual Basic.
Dirigido a:
El curso está dirigido a aquellas personas que, teniendo conocimientos básicos de
programación en cualquier otro lenguaje, deseen aprender los elementos específicos de
Visual Basic.
Requisitos:
Cualquier ordenador a partir de Pentium 133 con Visual Basic 6 instalado (también es
recomendable instalar el ServiPack 5 SP5). El Servipack 5 para Visual Basic 6.0 se
puede descargar gratuitamente en la siguiente dirección:
http://download.microsoft.com/download/vstudio60ent/SP5/Wideband-
VB/WIN98Me/es/VS6sp5VB.exe Es necesario disponer de Microsoft Access (no
importa que versión)
Introducir los conceptos del lenguaje, así como describir el entorno de trabajo e
informar sobre su instalación.
Contenido
1. Introducción.
1. Generalidades
2. Características de Visual Basic.
3. Ediciones de Visual Basic
4. Requisitos de hardware y del sistema
5. Instalación de Visual Basic.
6. Agregar o quitar componentes de Visual Basic
7. Descripción del entorno.
8. Primer ejemplo.
9. Guardar un proyecto.
2. Ejercicios de Visual Basic - Unidad 1
1. Ejercicio 1.
2. Ejercicio 2.
ARRIBA
Describir los elementos del lenguaje, así como empezar a familiarizarse con la sintaxis
de las órdenes.
Contenido
ARRIBA
Contenido
ARRIBA
4.-Controles I
Objetivo
Contenido
1. Controles I.
1. Generalidades sobre controles.
2. Ejemplo.
3. Control Etiqueta (Label).
4. Ejemplo.
5. Control Cuadro de texto (TextBox).
6. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 4
1. Ejercicio 1.
2. Ejercicio 2.
3. Ejercicio 3.
4. Ejercicio 4.
5. Ejercicio 5.
ARRIBA
5.-Controles II
Objetivo
Contenido
1. Controles II.
1. Control Botón (CommandButton).
2. Ejemplo.
3. Control Marco (Frame).
4. Ejemplo.
5. Control Botón de opción (OptionButton).
6. Ejemplo.
7. Control Casilla de verificación (CheckBox).
8. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 5
1. Ejercicio 1.
2. Ejercicio 2.
3. Ejercicio 3.
4. Ejercicio 4.
ARRIBA
6.-Controles III
Objetivo
Contenido
1. Controles III.
1. Control Caja de Lista (ListBox).
2. Ejemplo.
3. Control Lista desplegable (ComboBox).
4. Ejemplo.
5. Control Imagen (Image).
6. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 6
1. Ejercicio 1.
2. Ejercicio 2.
3. Ejercicio 3.
ARRIBA
7.-Controles IV
Objetivo
Contenido
1. Controles IV.
1. Control Barra de desplazamiento (HScrollBar, VScrollBar).
2. Ejemplo.
3. Control Línea (Line).
4. Ejemplo.
5. Control Figura (Shape).
6. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 7
1. Ejercicio 1.
2. Ejercicio 2.
3. Ejercicio 3.
ARRIBA
8.-Controles V
Objetivo
Contenido
1. Controles V
1. Control Temporizador (Timer).
2. Ejemplo.
3. Control Picture Box
1. Carga de una imagen durante el diseño del programa
2. Carga de una imagen durante la ejecución del programa
3. El método PaintPicture
4. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 8
1. Ejercicio 1.
2. Ejercicio 2.
3. Ejercicio 3.
4. Ejercicio 4.
ARRIBA
Contenido
ARRIBA
10.-Archivos y OLE.
Objetivo
Aprender a crear, abrir y manipular archivos, detallando todos los tipos posibles, así
como su gestión en el disco. Además se introduce el uso de la tecnología OLE.
Contenido
1. Archivos y OLE.
1. Archivos.
2. Acceso
1. Tipos de acceso a archivos
2. Archivos de acceso secuencial
3. Archivos de acceso aleatorio
4. Archivos de acceso binario
5. Abrir archivos
6. Números de archivo
7. Cerrar archivos
3. Ejemplo.
4. Gestión
1. Borrar archivos
2. Borrar y crear carpetas
3. Cambiar a otra carpeta o unidad
4. Obtener información de la ruta y la carpeta
5. Búsqueda de archivos
5. Ejemplo.
6. Vinculación e incrustación de objetos (OLE).
7. Contenedores, servidores y objetos
8. El registro de Windows
9. Inserción de un objeto OLE
10. Insertar un objeto en tiempo de diseño
11. Restricción del tipo OLE
12. Uso de Pegado especial durante el diseño del programa
13. Inserción de un objeto en tiempo de ejecución
14. Los métodos CreateEmbed y CreateLink
15. Utilización de un panel de diálogo para insertar un objeto en tiempo de
ejecución
16. Utilización de Pegado especial en tiempo de ejecución
17. Salvar y recuperar objetos OLE
18. Salvar objetos OLE al disco
19. Recuperar objetos OLE del disco
20. Otras propiedades, métodos y eventos del control OLE
21. Activación de objetos OLE
22. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 10
1. Ejercicio 1.
ARRIBA
Contenido
ARRIBA
12.-Controles avanzados I
Objetivo
Introducción a los controles que se pueden añadir a Visual Basic para aumentar las
posibilidades de programación, a la vez que simplifican la tarea.
Contenido
1. Controles avanzados.
1. Conjuntos de controles adicionales.
2. Control Barra de herramientas ( Toolbar).
3. Ejemplo.
4. Control ImageList
5. Ejemplo.
6. Control Barra de estado (StatusBar).
7. Ejemplo.
2. Ejercicios de Visual Basic - Unidad 12
1. Ejercicio 1.
2. Ejercicio 2.
ARRIBA
13.-Controles avanzados II
Objetivo
Seguir detallando los controles que se pueden añadir a Visual Basic, además de estudiar
como manipular el portapapeles y realizar una aplicación sencilla que recoja la mayoría
de los elementos estudiados hasta ahora.
Contenido
ARRIBA
14.-Acceso a datos
Objetivo
Contenido
1. Acceso a datos.
1. Utilización de herramientas de base de datos de Visual Basic
2. El enlace base de datos – programa
3. Creación de la base de datos
4. Ejemplo.
5. Recordsets
6. Control Data.
1. Propiedades.
7. Enlace de controles en la tabla de datos.
8. Ejemplo.
9. Manipular registros
10. Ejemplo.
11. Terminología.
12. Lenguaje de consulta estructurado.
13. Tecnologías.
1. OLE DB
2. ADO
3. ODBC
4. DAO
5. RDO
2. Ejercicios de Visual Basic - Unidad 14
1. Ejercicio 1.
2. Ejercicio 2.
Introducción.
Generalidades
Visual Basic es un lenguaje de programación de los llamados "visuales", puesto que parte de la
programación que se realiza con él se basa en la utilización de elementos visuales. La palabra
"Visual" hace referencia al método que se utiliza para crear la interfaz gráfica de usuario. En
lugar de escribir numerosas líneas de código para describir la apariencia y la ubicación de los
elementos de la interfaz, simplemente podemos agregar objetos prefabricados en su lugar
dentro de la pantalla, que ahorran mucho tiempo de programación y que sobrepasan el
concepto de la programación convencional en cuanto a la estructura secuencial del programa.
Profundizaremos en estos conceptos a medida que avancemos en el desarrollo del curso.
En segundo lugar, y teniendo en cuenta el auge que está teniendo Internet actualmente, el
conocer Visual Basic nos abre una ventana a la programación para Internet. En la creación de
páginas Web se utiliza el lenguaje HTML, en combinación con otros que le proveen de
funcionalidad, uno de ellos es el VBScript, que en realidad no es otra cosa que una adaptación
de Visual Basic, dicho de otra forma, conociendo Visual Basic, cuesta muy poco aprender
VBScript, lo que nos permitirá programar ASP (Active Server Pages). Esto quedará mejor
explicado con un ejemplo: Suponer que queremos programar una página Web que además de
los enlaces a otras páginas nos permita, por ejemplo, consultar una base de datos en Access,
esta consulta no se puede programar con HTML ya que no dispone de órdenes para ello,
necesitamos enlazar la página en HTML a una página ASP, la cual programaremos mezclando
HTML y VBScript, que es la que mediante el VBScript nos permitirá ejecutar la consulta a la
base de datos.
En una aplicación controlada por eventos, el código no sigue una ruta predeterminada; ejecuta
distintas secciones de código como respuesta a los eventos. Los eventos pueden
desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o
incluso por la propia aplicación. La secuencia de estos eventos determina la secuencia en la
que se ejecuta el código, por lo que la ruta a través del código de la aplicación es diferente
cada vez que se ejecuta el programa.
Para manejar los objetos y controles del lenguaje hay que conocer tres conceptos asociados a
ellos:
• Propiedades: Para todos los objetos y controles de Visual Basic, hay definidas una
serie de propiedades que nos permiten controlarlos: nombre, tamaño, color, posición,
etc..., la mayoría de las propiedades serán comunes, pero evidentemente, habrá
objetos que tengan unas determinadas propiedades específicas.
• Eventos: Cada objeto lleva asociados unos determinados eventos que le pueden
ocurrir, por ejemplo a un botón, le puede ocurrir que el usuario pulse con el botón
principal del ratón sobre él, eso es el evento NombreDelBotón_Click(), bien cuando
esto ocurra, se dispara este evento, al cual nosotros le añadiremos el código de lo que
queremos que haga la aplicación cuando el usuario pulse el botón.
• Métodos: Son procedimientos asociados a un objeto, es decir, nos permiten realizar
acciones como por ejemplo escribir un texto en un objeto, necesitaríamos usar el
método Print, con la siguiente sintaxis: NombreDelObjeto.Print "Texto deseado".
El esquema de programación es muy sencillo, para crear una aplicación, primero crearemos un
formulario vacío sobre el que iremos poniendo los controles que deseemos, en tiempo de
diseño podremos especificar las propiedades iniciales de esos controles. Posteriormente
escribiremos el "código respuesta" a los eventos que queramos controlar de nuestros objetos.
En ese "código respuesta", que es lo que llamaremos tiempo de ejecución, podremos modificar
algunas propiedades de los objetos, lanzar métodos, ejecutar rutinas, llamar a otros
procedimientos etc..
A excepción de los archivos del sistema operativo del directorio \Os, los archivos del CD-ROM
no están comprimidos, por lo que podemos usarlos directamente desde el disco. Por ejemplo,
existen numerosas herramientas y componentes en el directorio \Tools que pueden ejecutarse
o instalarse directamente desde el CD.
Para obtener más información: Para obtener instrucciones detalladas acerca de la instalación
de Visual Basic, tendremos que revisar el archivo Léame.
Cuando ejecutamos VB, después de cargar el entorno, nos aparece el siguiente cuadro:
Nos ofrece tres solapas: Nuevo, con las diferentes opciones que nos permite crear VB, en
principio sólo utilizaremos EXE estándar, que nos llevará a un formulario vacío desde el cual
comenzaremos a desarrollar nuestra aplicación. Existente, nos permite abrir proyectos que ya
existen para continuar implementándolos. Recientes, lo mismo pero sobre los últimos
proyectos que hayamos estado desarrollando.
Una vez que hayamos elegido EXE estándar, aceptamos y aparece la siguiente ventana (salvo
por las diferencias de tamaño, necesarias para que entre la imagen), en la cual vemos que
tenemos un proyecto abierto que en principio cuenta con un formulario vacío. Posteriormente,
si los necesitamos podremos insertarle tantos formularios al proyecto como queramos.
La ventana principal está formada además de por la barra de menús y la barra de botones
superiores, de un conjunto de ventanas con funciones diversas, cada una de ellas es
configurable en cuanto tamaño, o incluso se pueden ocultar para ganar espacio para otras. Las
principales son:
• Ventana del Proyecto: Es la ventana que va a contener el objeto activo del proyecto,
en la imagen superior vemos que contiene el formulario vacío, que utilizaremos para el
diseño gráfico. Pero cuando le queramos añadir código, la ventana de código también
estará contenida aquí.
• Explorador de proyectos: Ventana superior derecha, nos permite visualizar los
objetos que contiene el proyecto actual agrupados por categorías, en nuestro caso y
por el momento solo hay un formulario colgando de la carpeta formularios. Además en
la parte superior izquierda de esta ventana hay dos botones que nos permiten
intercambiar la vista de diseño gráfico con la ventana de código en la ventana del
proyecto. No obstante para pasar a la ventana de código bastaría con hacer doble click
sobre cualquier control.
• Ventana de propiedades: Situada debajo de la anterior, contiene el conjunto de
propiedades, con el valor actual correspondiente, de cada uno de los objetos. Es aquí
donde podremos modificar los valores iniciales de esas propiedades, en lo que se
conoce como tiempo de diseño.
• Ventana de posición del formulario: Situada debajo de la anterior, permite la
colocación del formulario en la pantalla, representado la misma con una imagen a
escala.
• Caja de herramientas: Situada a la izquierda, contiene los controles que podemos ir
colocando en el formulario, para ello bastará con hacer doble click sobre uno de ellos, o
pulsar sobre el control y "dibujarlo" sobre el formulario.
Primer ejemplo.
Crearemos un EXE estándar, al cual le insertaremos de la caja de herramientas un botón, el
cual podemos posicionar donde queramos y establecerle el tamaño deseado. Nuestro primer
programa ya funcionaría en el sentido de que si lo ejecutásemos ahora, ya podríamos pulsar el
botón tantas veces como quisiésemos (no haría nada, pero tampoco provocaría un error).
Para que al pulsar el botón "ocurra algo", debemos escribir el código que deseamos que se
ejecute cuando el usuario pulse el botón (que el usuario pulse el botón, significa para Visual
que se dispara el evento Click del objeto Command1). Por lo tanto el código deberemos
escribirlo en el procedimiento Command1_Click().
La forma más cómoda de hacer esto consiste en hacer doble click sobre el botón de nuestro
formulario, esto nos llevará a la ventana de código y además nos escribirá en ella el
encabezado y final del evento que necesitamos, dejándolo preparado para que podamos
escribir nuestro código:
Como código escribiremos la línea: Print "Has pulsado el botón" que escribe en el formulario
el texto encerrado entre comillas.
Para detener la ejecución del programa, podemos pulsar la X del cuadro de control del
Este es el método básico de programación que desarrollaremos en Visual Basic: Uno o varios
formularios a los que les insertaremos controles, los cuales gestionaremos mediante eventos
que desencadenen los usuarios. Como respuesta a los eventos, deberemos programar el
código que deseemos ejecutar en cada momento.
Guardar un proyecto.
Crearemos una carpeta en nuestro disco duro, por ejemplo: C:\Mis Documentos\Visual
Basic\Proyectos, donde almacenaremos tanto los proyectos como los formularios.
El archivo de proyecto es simplemente una lista de todos los archivos y objetos asociados con
el proyecto, así como información acerca de las opciones de entorno establecidas. Esta
información se actualiza cada vez que se guarda el proyecto. Todos los archivos y objetos
también se pueden compartir con otros proyectos.
Cuando ha completado todos los archivos del proyecto podremos convertir el proyecto en un
archivo ejecutable (.exe): en el menú Archivo, eligiendo el comando Generar proyecto.exe.
Ejercicios
Ejercicio 1.
Ejecutar Visual Basic, Abrir un EXE estándar, pulsando en la X de cada una, cerrar todas las
ventanas menos la principal, de forma que dejemos la siguiente visualización:
En el menú Herramientas / Opciones, ir a la solapa Acople, activar todas las casillas que no
estuviesen activas menos la del "Examinador de objetos" y Aceptar. Con esto conseguimos que
cuando queramos visualizar una ventana de las del entorno esta se acople junto con las demás
para que no aparezcan solapadas.
Ahora haciendo doble click en Form1 del Explorador de proyectos aparecerá la ventana del
formulario cargándose la ventana de propiedades, y ya sólo nos queda volver al menú Ver para
elegir Cuadro de herramientas, el cual se posiciona a la izquierda de la ventana principal.
Podremos establecer diferentes configuraciones del entorno, siendo esta quizá la más
adecuada para comenzar a familiarizarse con el entorno.
Ejercicio 2.
Abrir un EXE estándar, obtendremos un formulario vacío, pulsando en el botón (Ver código)
saldrá la ventana de código vacía, en el cuadro superior izquierdo desplegaremos y elegiremos
Form, veremos como automáticamente nos pone el evento Private Sub Form_Load(), que es
el evento predeterminado para el objeto Form, lo ignoramos puesto que no es el que
necesitamos (posteriormente el editor lo eliminará ya que no va a contener código). En el
cuadro superior derecho desplegamos y elegimos el evento DblClick, (doble click), es decir el
usuario desencadenará la acción cuando haga doble click sobre el formulario. En este evento
escribimos un mensaje (recordar que el texto debe ir entrecomillado) usando el método Print.
Introducción.
Como todo lenguaje de programación, Visual Basic tiene un conjunto de variables y estructuras
que el programador puede usar. Empezaremos introduciendo conceptos poco a poco ya que la
extensión del lenguaje haría necesaria la dedicación de mucho tiempo para conocerlo todo
antes de empezar a realizar el primer programa. A medida que avancemos se irán añadiendo
conceptos, sólo los más importantes en cada caso ya que estudiarlos en profundidad haría del
curso una labor muy tediosa. Sirva como ejemplo que el control Textbox tiene 43 propiedades,
24 eventos y 11 métodos. Cierto es que muchos elementos son comunes a otros controles, por
eso sólo veremos los más significativos de cada uno. En cualquier caso, cuando el alumno
desee conocer un determinado control con mayor profundidad puede recurrir a la ayuda, que
sorprendentemente está muy bien organizada y clara.
Variables.
Las variables que podemos usar en Visual pueden ser de los siguientes tipos:
Integer: Número entero que oscila entre los valores -32.768 y 32.767
Long: Número entero (entero largo) que oscila entre los valores -2.147.483.648 y
2.147.483.647
Simple: Número real que oscila entre los valores -3.40E+38 y 3.40E+38
Double: Número real que oscila entre los valores -1.8E+308 y 1.8E+308
String: Cadena de caracteres, sirve para almacenar textos, aproximadamente hasta 65000
caracteres.
Boolean: Sólo admite dos estados, Verdadero (True) (-1) o Falso (False) (0).
Aún hay más tipos, pero en principio sólo vamos a usar estos, para lo cual deberemos seguir el
siguiente proceso:
Primero para poder usar una variable debemos declararla, esto lo haremos mediante la
sentencia Dim, esto nos crea la variable y reserva el espacio necesario para ella, utilizaremos
la siguiente sintaxis:
El nombre de la variable puede tener hasta 40 caracteres y debe empezar por letra.
El tipo debe ser uno de los disponibles, cuando escribamos la sentencia, al llegar al tipo
veremos como nos sale un cuadro de lista donde nos muestra las posibilidades para el mismo,
podemos escribirlo nosotros o con las flechas del cursor buscarlo y pulsando espacio o intro
que lo escriba el sistema.
Podemos especificar la longitud: Dim Cadena As String*4, esta sentencia nos declara una
variable de tipo string y longitud fija de 4 caracteres. Si no especificamos longitud, la cadena
tendrá longitud variable.
Para declarar vectores basta con poner el tamaño entre paréntesis: Dim Vector(25) As
Integer, declara un vector de 25 posiciones que van de la 0 a la 24, y del tipo Integer.
Otro aspecto a tener en cuenta es dónde hacemos la declaración, ya que si la hacemos dentro
de un procedimiento específico, esta sólo tendrá validez dentro de él, si queremos que la
variable pueda ser usada por varios procedimientos deberemos declararla en el área General.
El segundo paso es la inicialización del valor de la variable, cosa que deberemos hacer salvo
que nos sirvan los valores por defecto: 0 para las numéricas y "" para las alfanuméricas. Esto
deberemos hacerlo dentro de algún procedimiento ya que en el área General no es posible,
aunque sea una variable común. La sintaxis adecuada es:
Nota: Si queremos usar variables del sistema como Date o Time que contienen la fecha y hora
del sistema respectivamente, no es necesario que las declaremos.
Ejemplo.
Abrir Proyecto1, esto lo podemos hacer desde el menú Archivo / Abrir proyecto, o desde la
ventana inicial cuando abrimos Visual Basic, buscándolo tanto en la solapa Existente como en
la solapa Recientes.
El objetivo es incluir un contador que me informe del número de veces que he pulsado el botón,
para ello necesitaremos usar una variable. Si declaro la variable en el procedimiento Private
Sub Command1_Click(), esta se inicializará cada vez que pulsemos el botón, con lo que por
mucho que la incrementemos, no conseguiremos que nos muestre el número de veces que lo
hemos pulsado. Necesitamos declararla fuera del procedimiento, bien pues escribimos la
declaración al inicio del código: Dim contador As Integer, fuera de cualquier procedimiento
(área General), con esto conseguimos que sea una variable pública para nuestro formulario y
que sólo se inicialice al ejecutar el programa. Además observaremos como el editor de código
nos separa esta declaración del resto de procedimientos mediante una línea horizontal.
Podemos pensar que la solución está en inicializarla a 1 fuera de cualquier procedimiento, pero
eso no es posible, ya que en lo que se conoce como el área General (donde hemos declarado
la variable) sólo podemos declarar variables, pero no inicializarlas.
La solución está en usar un evento que se dispare automáticamente una sola vez al inicio de la
ejecución de nuestro programa. Ese evento es el Load del objeto Form, este evento se dispara
cada vez que se carga el formulario y en él se suelen poner los parámetros comunes y
especificaciones iniciales del formulario.
Al ejecutar veremos como comenzando por 1, el número se incrementa cada vez que pulsemos
el botón. Salir guardando todos los cambios.
Operadores.
Para construir expresiones, además de variables o constantes utilizaremos los operadores, que
se clasifican de la siguiente forma y respetando la jerarquía que con la que aparecen:
ARITMÉTICOS.
^ Exponenciación.
* Multiplicación / División
\ División entera
MOD Módulo (resto de la división entera)
+ Suma - Resta
ALFANUMÉRICOS.
&, + Concatenan textos.
LÓGICOS.
NOT Negación
AND Y
OR O
COMPARATIVOS.
< Menor que <= Menor o igual que
Estructuras.
A continuación veremos las estructuras que podemos usar en Visual Basic:
ESTRUCTURAS DE DECISIÓN
If: Esta estructura nos permite desviar el flujo de programa dependiendo de si se cumple una
condición. La sintaxis es:
If Condición then
Conjunto de ordenes que se ejecutarán cuando la Condición sea verdadera.
Else
Conjunto de ordenes que se ejecutarán cuando la Condición sea falsa.
End If
Select: Dependiendo del valor de una expresión o variable ejecuta una opción u otra. La
sintaxis es:
ESTRUCTURAS DE BUCLE
Las estructuras de bucle permiten ejecutar una o más líneas de código repetidamente. Las
estructuras de bucle que acepta Visual Basic son:
Las instrucciones se ejecutan siempre y cuando condición sea True, la sintaxis es:
Do While condición
instrucciones
Loop
Cuando Visual Basic ejecuta este bucle Do, primero evalúa condición. Si condición es False
(cero), se salta todas las instrucciones. Si es True (distinto de cero), Visual Basic ejecuta las
instrucciones, vuelve a la instrucción Do While y prueba la condición de nuevo.
Por tanto, el bucle se puede ejecutar cualquier número de veces, siempre y cuando condición
sea distinta de cero o True. Nunca se ejecutan las instrucciones si condición es False
inicialmente.
Otra variante de la instrucción Do...Loop ejecuta las instrucciones primero y prueba condición
después de cada ejecución. Esta variación garantiza al menos una ejecución de instrucciones:
Do
instrucciones
Loop While condición
Hay otras dos variantes análogas a las dos anteriores, excepto en que repiten el bucle siempre
y cuando condición sea False en vez de True.
Hace el bucle cero o más veces Hace el bucle al menos una vez
Do Until condición Do
instrucciones instrucciones
Loop Loop Until condición
For...Next
Los bucles Do funcionan bien cuando no se sabe cuántas veces se necesitará ejecutar las
instrucciones del bucle. Sin embargo, cuando se sabe que se van a ejecutar las instrucciones
un número determinado de veces, es mejor elegir el bucle For…Next. A diferencia del bucle
Do, el bucle For utiliza una variable llamada contador que incrementa o reduce su valor en
cada repetición del bucle. La sintaxis es la siguiente:
For contador = iniciar To finalizar [Step incremento]
instrucciones
Next [contador]
Nota El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciar
debe ser menor o igual que finalizar o no se ejecutarán las instrucciones del bucle. Si
incremento es negativo, iniciar debe ser mayor o igual que finalizar para que se ejecute el
cuerpo del bucle. Si no se establece Step, el valor predeterminado de incremento es 1.
3. Ejecuta instrucciones.
4. Incrementa contador en 1 o en instrucciones, si se especificó.
5. Repite los pasos 2 a 4.
Ejemplo.
Abrir Proyecto1. El objetivo es modificar el programa de forma que al pulsar el botón la primera
vez, el texto que muestre sea "Has pulsado el botón 1 vez", en lugar de lo que muestra ahora
que es: "Has pulsado el botón 1 veces".
Hay que incluir una estructura If, de forma que cuando contador valga 1 haga una cosa, y
cuando tenga un valor diferente haga otra. La ventana de código, mostrará:
Además modificar el tamaño del formulario y el botón, así como su posición, de forma que el
resultado sea:
Salir guardando todos los cambios.
Ejercicios
Ejercicio 1.
Crear un nuevo proyecto, vamos a ver como utilizar variables que contengan texto. Deberemos
declarar tres variables de tipo String: Nombre, Apellidos y Todo. En el formulario pondremos
un botón de forma que al pulsarlo el programa haga lo siguiente: asigne a las variables
Nombre y Apellidos los textos correspondientes, mediante concatenación construya la
variable Todo, compuesta de los contenidos de Nombre y Apellidos mostrando por pantalla el
contenido de la variable Todo.
Descargar el ejecutable.
Ayuda: Para asignar valores a una variable de tipo String, deberemos encerrar entre comillas
el texto: Nombre = "Ramón".
Si hacemos concatenación normal entre la variables el resultado mostrará los textos sin
separación, podríamos incluir un espacio al final del nombre o al inicio de los apellidos, pero la
mejor forma de hacerlo consistirá en concatenar un espacio en blanco: Todo = Nombre & " " &
Apellidos.
Ejercicio 2.
Crear un nuevo proyecto, vamos a ver como usar una estructura de bucle. Insertaremos un
botón de forma que al pulsarlo nos muestre por pantalla cinco líneas que se corresponderán a
cinco pasos del bucle. Incluso numeraremos cada línea con un contador.
Descargar el ejecutable.
Ayuda: Para realizar este ejercicio, basta con usar un bucle de tipo For, ya que cada vez que
pulsemos el botón reiniciaremos la cuenta de las líneas.
Ejercicio 3.
Crear un nuevo proyecto, vamos a ver como mantener un acumulador. Insertaremos un botón
de forma que al pulsarlo nos muestre por pantalla cinco líneas que se corresponderán a cinco
pasos del bucle. Incluso numeraremos cada línea con un contador. Además, a diferencia del
ejercicio anterior, cuando volvamos a pulsar el botón la numeración de las líneas debe
continuar correlativamente.
Descargar el ejecutable.
Ayuda: Para realizar este ejercicio, basta con usar un bucle de tipo For, pero para que cada
vez que pulsemos el botón, continúe la cuenta de las líneas, deberemos declarar otra variable
que inicializaremos en el Form_Load del formulario. Esta nueva variable será la que
mostraremos y como sólo se inicializa una vez mantendrá el último valor asignado pudiendo así
seguir a secuencia.
Dentro del bucle For deberemos ocuparnos de incrementar nosotros la variable mediante:
Acumulador = Acumulador + 1. (En vez de Acumulador, deberemos poner el nombre de la
variable que hayamos definido para la tarea).
Palabras reservadas.
Rem: Nos permite incluir comentarios sobre el programa en medio del código, la sintaxis es:
Rem Comentario
Además, se puede conseguir lo mismo sin necesidad de escribir Rem, utilizando la comilla
simple, es decir, la anterior orden es equivalente a:
'Comentario
Observaremos como el editor de código reconoce los comentarios ya que les aplica como color
del texto el verde.
Exit Sub: Nos permite acabar la ejecución del procedimiento en el que lo pongamos, y en
punto del mismo donde se halle situado.
End: Nos permite acabar la ejecución del programa en el punto del mismo donde se halle
situado.
Funciones.
MsgBox: Muestra un mensaje en un cuadro de diálogo, espera a que el usuario haga clic en
un botón y devuelve un tipo Integer correspondiente al botón elegido por el usuario.
Sintaxis
Parte Descripción
Valores
Nota: Estas constantes las especifica Visual Basic para Aplicaciones. Por tanto, el nombre de
las mismas puede utilizarse en cualquier lugar del código en vez de sus valores reales.
Valores devueltos
vbOK 1 Aceptar
vbCancel 2 Cancelar
vbAbort 3 Anular
vbRetry 4 Reintentar
vbIgnore 5 Ignorar
vbYes 6 Sí
vbNo 7 No
Comentarios
Cuando se proporcionan tanto helpfile como context, el usuario puede presionar F1 para ver
el tema de Ayuda correspondiente al context. Algunas aplicaciones como por ejemplo Microsoft
Excel, también agregan automáticamente un botón Ayuda al cuadro de diálogo.
Si el cuadro de diálogo cuenta con un botón Cancelar, presionar la tecla ESC tendrá el mismo
efecto que hacer clic en este botón. Si el cuadro de diálogo contiene un botón Ayuda, se
suministra ayuda interactiva para ese cuadro de diálogo. Sin embargo, no se devuelve valor
alguno hasta que se hace clic en uno de estos botones.
Nota: Si se desea especificar más que el primer argumento con nombre, se debe utilizar
MsgBox en una expresión. Si deseamos omitir algún argumento de posición, debemos incluir
el delimitador de coma correspondiente.
Ejemplo.
La siguiente orden genera un cuadro al cual le indicamos título, texto, le ponemos tres botones:
Sí, No y Cancelar. Además le incluimos el icono de pregunta:
InputBox: Muestra un mensaje en un cuadro de diálogo, espera que el usuario escriba un texto
o haga clic en un botón y devuelve un tipo String con el contenido del cuadro de texto.
Sintaxis
Parte Descripción
Comentarios
Cuando se especifica tanto helpfile como context, el usuario puede presionar F1 para ver el
tema de Ayuda correspondiente a context. Algunas aplicaciones como por ejemplo, Microsoft
Excel, también agregan automáticamente un botón Ayuda al cuadro de diálogo. Si el usuario
hace clic en Aceptar o presiona Entrar , la función InputBox devuelve lo que haya en el cuadro
de texto. Si el usuario hace clic en Cancelar, la función devuelve una cadena de caracteres de
longitud cero ("").
Nota: Si deseamos especificar más que el primer argumento con nombre, debemos utilizar
InputBox en una expresión. Si deseamos omitir algunos argumentos de posición, debemos
incluir el delimitador de coma correspondiente.
Ejemplo.
La siguiente orden genera un cuadro al cual le indicamos texto, título y asignamos el texto que
escriba el usuario a la variable cadena:
Observar que como asignamos el resultado de la función InputBox a una variable, debemos
encerrar los argumentos entre paréntesis.
La función Format convierte un valor numérico en una cadena de texto y le proporciona control
sobre la apariencia de la cadena. Por ejemplo, podemos especificar el número de decimales,
los ceros a la izquierda o a la derecha y los formatos de moneda. La sintaxis es:
Símbolo Descripción
Aún hay muchas más funciones, cuando las necesitemos, ya las estudiaremos.
Propiedades comunes.
A continuación veremos algunas propiedades comunes a la mayoría de los controles, estas se
podrán modificar desde la vista formulario, con el control activado y en la ventana de
propiedades:
Nombre: Nombre que deseemos asignar al objeto, es un identificador interno para el código.
Caption: Habitualmente igual que el nombre del objeto, pero es la forma de identificar el objeto
de cara al usuario, por ejemplo, si tenemos un botón en nuestro formulario que al pulsarlo nos
acabe la ejecución, internamente le llamaremos BotonSalir, pero basta con que le pongamos
como Caption Salir, que es lo que verá el usuario.
Enabled: Sólo admite dos valores: True o False, e indica si el control está o no activado.
Visible: Sólo admite dos valores: True o False, e indica si el control está o no visible.
Ejemplo.
Crear un EXE estandar, llamar Ejemplo2 al formulario, al cual le insertaremos un botón en la
parte inferior derecha, ponerle como nombre BotonSalir y como Caption Salir ( si queremos
que el usuario pueda activar el botón con la combinación de teclas ALT + S, deberemos
anteponer a la letra S del caption el símbolo &).
A este botón le insertaremos código de forma que cuando el usuario pulse, salga un cuadro por
pantalla pidiendo confirmación para salir del programa, si el usuario pulsa Sí, debe acabar la
ejecución y si pulsa No, no debe hacer nada.
Insertar otro botón en la parte inferior izquierda, ponerle como nombre BotonFecha y como
Caption Fecha y hora del sistema ( si queremos que el usuario pueda activar el botón con la
combinación de teclas ALT + F, deberemos anteponer a la letra F del caption el símbolo &)
A este botón le insertaremos código de forma que cuando el usuario pulse, imprima en el
formulario la fecha en formato largo, es decir, día de la semana, día, nombre del mes y año con
4 cifras. Debajo debe imprimir la hora del sistema. El formulario en diseño quedará:
Y la ventana de código:
Observar que para continuar una línea de código en la siguiente, se utiliza después de un
espacio el guión bajo.
Ejercicios
Ejercicio 1.
Crear un proyecto que se llamará Ejercicio1, y que consiste en un formulario con un botón,
que al pulsarlo pida mediante un InputBox la identificación del usuario, es necesario controlar
que el usuario no deje vacío el InputBox, de forma que no deje continuar hasta que haya escrito
algo. Posteriormente debe mostrar el texto introducido.
Ayuda: Utilizar un bucle Do - Loop While, en el que pondremos dentro la orden del InputBox,
de esta forma nos aseguramos de que se ejecuta por lo menos una vez y no sale de él hasta
que el usuario escriba algo.
Ejercicio 2.
Crear un proyecto que se llamará Ejercicio2, y que consiste en un formulario con un botón,
que al pulsarlo pida mediante un InputBox un número entero positivo, es necesario controlar
que el usuario no deje vacío el InputBox, de forma que no deje continuar hasta que haya escrito
el número. Posteriormente debe mostrar la suma de todos los números entre el 1 y el número
introducido.
Ayuda: Utilizar un bucle For - Next, para calcular la suma. Como lo que devuelve el InputBox
es una cadena, habrá que convertirla a número antes de efectuar las operaciones aritméticas.
Habrá que declarar tres variables de tipo Integer o Long: Contador, Acumulador y limite. La
forma de acumular dentro del bucle es sencilla: acumulador = acumulador + contador. Tener en
cuenta que Visual Basic opera de derecha a izquierda, luego primero calcula la suma y
después asigna el nuevo valor a la variable acumulador.
Ejercicio 3.
Crear un proyecto que se llamará Ejercicio3, y que consiste en un formulario con un botón,
que al pulsarlo pida mediante un InputBox un número entero comprendido entre 1 y 10 (es
decir una calificación académica), es necesario controlar que el usuario no deje vacío el
InputBox, de forma que no deje continuar hasta que haya escrito el número. Posteriormente
debe mostrar la calificación en letra correspondiente a la nota introducida.
Ayuda: Utilizar una estructura Select case para asignar las calificaciones: de 0 a 4: Insuficiente,
5: Suficiente, 6: Bien, 7 ó 8: Notable, 9 ó 10: Sobresaliente. Para poner más de un valor en el
case, deberán ir separados por comas.