Está en la página 1de 21

INTRODUCCIN.

GENERALIDADES
Visual Basic es un lenguaje de programacin de los llamados "visuales", puesto que parte de la
programacin que se realiza con l se basa en la utilizacin de elementos visuales. La palabra "Visual"
hace referencia al mtodo que se utiliza para crear la interfaz grfica de usuario. En lugar de escribir
numerosas lneas de cdigo para describir la apariencia y la ubicacin de los elementos de la interfaz,
simplemente podemos agregar objetos prefabricados en su lugar dentro de la pantalla, que ahorran
mucho tiempo de programacin y que sobrepasan el concepto de la programacin convencional en
cuanto a la estructura secuencial del programa. Profundizaremos en estos conceptos a medida que
avancemos en el desarrollo del curso.
Tradicionalmente el lenguaje Basic (Beginners All-Purpose Symbolic Instruction Code) se ha
considerado como el lenguaje adecuado para principiantes en el mundo de la programacin, si bien se
le achaca que no tiene la potencia suficiente para cubrir todas las expectativas de los programadores
avanzados. Cierto es que aunque nos permite la creacin de componentes y trabajar con objetos,
otros lenguajes tienen ms potencia en la programacin orientada a objetos, pero a medida que han
avanzado en las versiones de Visual Basic, ha aumentado su versatilidad. Este curso pretende ser una
iniciacin a la programacin en Visual Basic, que posteriormente puede implementarse con otros
cursos avanzados en el sentido de profundizar en el concepto de la programacin. La versatilidad a la
que se hace alusin viene del hecho de que una vez realizado este curso se tiene la base suficiente
para abordar otros aspectos de la programacin actual. En primer lugar, podramos abordar la
programacin de VBA (Visual Basic para Aplicaciones), que nos permitir programar rutinas de cdigo
que nos proporcionarn mayor potencia y funcionalidad de nuestras aplicaciones ofimticas, por
ejemplo para los programas del paquete Microsoft Office: Microsoft Word, Microsoft Excel, Microsoft
Access..., las macros que se pueden programar en estos programas se escriben en VBA, que es un
lenguaje basado en Visual Basic, es decir una vez conocido este, aprender VBA consiste en tener en
cuenta las especificaciones que hace sobre el Visual Basic que ya conocemos, la idea a transmitir es
que no hay que aprender nada nuevo desde el principio, sino que con poco esfuerzo, rpidamente
podemos empezar a crear nuestras propias macros.
En segundo lugar, y teniendo en cuenta el auge que est teniendo Internet actualmente, el conocer
Visual Basic nos abre una ventana a la programacin para Internet. En la creacin de pginas Web se
utiliza el lenguaje HTML, en combinacin con otros que le proveen de funcionalidad, uno de ellos es el
VBScript, que en realidad no es otra cosa que una adaptacin 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 pgina Web que adems de los enlaces a otras pginas 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 pgina en HTML a una pgina 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.
CARACTERSTICAS DE VISUAL BASIC.
Podramos decir que Visual Basic es un lenguaje orientado a eventos. En las aplicaciones tradicionales
o "por procedimientos", la aplicacin es la que controla qu partes de cdigo y en qu secuencia se
ejecutan. La ejecucin comienza con la primera lnea de cdigo y contina con una ruta predefinida a
travs de la aplicacin, llamando a los procedimientos segn se necesiten.
En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada; ejecuta
distintas secciones de cdigo 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
aplicacin. La secuencia de estos eventos determina la secuencia en la que se ejecuta el cdigo, por
lo que la ruta a travs del cdigo de la aplicacin 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, tamao, color, posicin, etc..., la mayora

de las propiedades sern comunes, pero evidentemente, habr objetos que tengan unas
determinadas propiedades especficas.
Eventos: Cada objeto lleva asociados unos determinados eventos que le pueden ocurrir, por
ejemplo a un botn, le puede ocurrir que el usuario pulse con el botn principal del ratn sobre
l, eso es el evento NombreDelBotn_Click(), bien cuando esto ocurra, se dispara este
evento, al cual nosotros le aadiremos el cdigo de lo que queremos que haga la aplicacin
cuando el usuario pulse el botn.
Mtodos: Son procedimientos asociados a un objeto, es decir, nos permiten realizar acciones
como por ejemplo escribir un texto en un objeto, necesitaramos usar el mtodo Print, con la
siguiente sintaxis: NombreDelObjeto.Print "Texto deseado".

Encontraremos tanto propiedades, eventos como mtodos comunes, si bien, dependiendo de los
objetos que utilicemos encontraremos elementos especficos y exclusivos del objeto.
El esquema de programacin es muy sencillo, para crear una aplicacin, primero crearemos un
formulario vaco sobre el que iremos poniendo los controles que deseemos, en tiempo de diseo
podremos especificar las propiedades iniciales de esos controles. Posteriormente escribiremos el
"cdigo respuesta" a los eventos que queramos controlar de nuestros objetos. En ese "cdigo
respuesta", que es lo que llamaremos tiempo de ejecucin, podremos modificar algunas propiedades
de los objetos, lanzar mtodos, ejecutar rutinas, llamar a otros procedimientos etc..
DESCRIPCIN DEL ENTORNO.
Para desarrollar el curso se ha utilizado Visual Basic 6.0 en castellano, y todas las referencias e
imgenes sern sobre esa versin, si bien se podra seguir el curso con la versin anterior, puesto que
las diferencias radicarn, ms que en que no se pueda realizar, en la forma de hacer o llamar a las
cosas.
Cuando ejecutamos VB, despus 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
slo utilizaremos EXE estndar, que nos llevar a un formulario vaco desde el cual comenzaremos a
desarrollar nuestra aplicacin. Existente, nos permite abrir proyectos que ya existen para continuar
implementndolos. Recientes, lo mismo pero sobre los ltimos proyectos que hayamos estado
desarrollando.

Una vez que hayamos elegido EXE estndar, aceptamos y aparece la siguiente ventana (salvo por
las diferencias de tamao, necesarias para que entre la imagen), en la cual vemos que tenemos un
proyecto abierto que en principio cuenta con un formulario vaco. Posteriormente, si los necesitamos
podremos insertarle tantos formularios al proyecto como queramos.

La ventana principal est formada adems de por la barra de mens y la barra de botones superiores,
de un conjunto de ventanas con funciones diversas, cada una de ellas es configurable en cuanto
tamao, 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 vaco, que utilizaremos para el diseo grfico.
Pero cuando le queramos aadir cdigo, la ventana de cdigo tambin estar contenida aqu.
Explorador de proyectos: Ventana superior derecha, nos permite visualizar los objetos que
contiene el proyecto actual agrupados por categoras, en nuestro caso y por el momento solo
hay un formulario colgando de la carpeta formularios. Adems en la parte superior izquierda de
esta ventana hay dos botones que nos permiten intercambiar la vista de diseo grfico con la
ventana de cdigo en la ventana del proyecto. No obstante para pasar a la ventana de cdigo
bastara 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 diseo.
Ventana de posicin del formulario: Situada debajo de la anterior, permite la colocacin 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 estndar, al cual le insertaremos de la caja de herramientas un botn, el cual
podemos posicionar donde queramos y establecerle el tamao deseado. Nuestro primer programa ya
funcionara en el sentido de que si lo ejecutsemos ahora, ya podramos pulsar el botn tantas veces
como quisisemos (no hara nada, pero tampoco provocara un error).
Para que al pulsar el botn "ocurra algo", debemos escribir el cdigo que deseamos que se ejecute
cuando el usuario pulse el botn (que el usuario pulse el botn, significa para Visual que se dispara el

evento Click del objeto Command1). Por lo tanto el cdigo deberemos escribirlo en el procedimiento
Command1_Click().
La forma ms cmoda de hacer esto consiste en hacer doble click sobre el botn de nuestro
formulario, esto nos llevar a la ventana de cdigo y adems nos escribir en ella el encabezado y
final del evento que necesitamos, dejndolo preparado para que podamos escribir nuestro cdigo:

Como cdigo escribiremos la lnea: Print "Has pulsado el botn" que escribe en el formulario el
texto encerrado entre comillas.
Para ejecutar nuestro programa tenemos diversas opciones, incluyendo la generacin de un
ejecutable, pero en la fase de desarrollo de un programa es la opcin ms lenta. Digamos que hasta
que no hayamos terminado de implementar el programa, no crearemos el ejecutable. La forma ms
cmoda consiste en ejecutarlo sin compilar, es decir, interpretando las rdenes, de esta forma
detectamos ms rpidamente posibles errores. Para ello iremos al men Ejecutar / Iniciar, o
pulsaremos F5, (tambin podemos iniciar la ejecucin pulsando el botn
de la barra de botones
de Visual Basic). Veremos nuestro formulario en pantalla y cada vez que pulsemos el botn, se
escribir en el mismo el texto que indicamos entrecomillado, esto lo podemos hacer tantas veces
como queramos.

El formulario es redimensionable, lo podemos situar donde queramos, tiene el cuadro de control


estndar de Windows, y todo ello sin que hallamos dedicado ni un pensamiento al respecto.
Para detener la ejecucin del programa, podemos pulsar la X del cuadro de control del formulario, o
pulsar el botn

de la barra de botones de Visual Basic.

Este es el mtodo bsico de programacin 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 cdigo 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.
Podemos guardar los formularios o el proyecto separadamente, pero lo ms cmodo es ir al men
Archivo / Guardar proyecto. De esta forma nos sale primero una ventana para que guardemos los
formularios que componen nuestro proyecto, en la cual le podemos indicar la carpeta y el nombre que
queremos asignar. Cuando tengamos guardados todos los formularios del proyecto, nos sale otra
ventana para hacer lo mismo con el proyecto.
Guardaremos el ejemplo anterior en la carpeta predeterminada, asignando Form1 al formulario y
Proyecto1 al proyecto. Posteriormente para acceder al mismo, bastar con abrir el proyecto
Proyecto1, lo cual nos abrir todos los formularios que contenga.
Cuando se desarrolla un aplicacin, se trabaja con un archivo de proyecto para administrar todos los
diferentes archivos que se crean. Un proyecto consta de:

Un archivo de proyecto que realiza el seguimiento de todos los componentes (.vbp)


Un archivo para cada formulario (.frm).
Un archivo de datos binarios para cada formulario que contiene datos sobre propiedades de
controles del formulario (.frx). Estos archivos no se pueden modificar y los genera
automticamente cualquier archivo .frm que tenga propiedades en formato binario, como
Picture o Icon.
Opcionalmente, un archivo para cada mdulo de clase (.cls).
Opcionalmente, un archivo para cada mdulo estndar (.bas).
Opcionalmente, uno o ms archivos con controles ActiveX (.ocx).
Opcionalmente, un nico archivo de recursos (.res).
Opcionalmente, un nico archivo de espacio de trabajo de proyecto de Visual Basic (.vbw).

El archivo de proyecto es simplemente una lista de todos los archivos y objetos asociados con el
proyecto, as como informacin acerca de las opciones de entorno establecidas. Esta informacin se
actualiza cada vez que se guarda el proyecto. Todos los archivos y objetos tambin 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.
Ejercicio 1.
Ejecutar Visual Basic, Abrir un EXE estndar, pulsando en la X de cada una, cerrar todas las
ventanas menos la principal, de forma que dejemos la siguiente visualizacin:

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 dems para
que no aparezcan solapadas.
Ir al men Ver y elegir: Explorador de proyectos, Ventana Propiedades y Ventana posicin del
formulario. Deberemos redimensionar cada una hasta obtener aproximadamente:

Ahora haciendo doble click en Form1 del Explorador de proyectos aparecer la ventana del
formulario cargndose la ventana de propiedades, y ya slo 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 ms adecuada para
comenzar a familiarizarse con el entorno.
Como la ventana Posicin del formulario no es necesaria permanentemente, conviene ocultarla
para que se ample la de Propiedades. Cuando tengamos que decidir la posicin del formulario en
pantalla (cuando se ejecute), bastar con mostrarla entonces.
Ejercicio 2.
Abrir un EXE estndar, obtendremos un formulario vaco, pulsando en el botn
(Ver cdigo) saldr la
ventana de cdigo vaca, en el cuadro superior izquierdo desplegaremos y elegiremos Form, veremos
como automticamente 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 cdigo). En el cuadro superior derecho
desplegamos y elegimos el evento DblClick, (doble click), es decir el usuario desencadenar la accin
cuando haga doble click sobre el formulario. En este evento escribimos un mensaje (recordar que el
texto debe ir entrecomillado) usando el mtodo Print.
Antes de ejecutar visualizaremos la ventana Posicin del formulario si no estaba ya presente y
colocaremos el formulario aproximadamente en medio de la pantalla.
Ejecutaremos y adems de observar como el formulario aparece en la posicin que hemos asignado,
veremos como al hacer doble click sobre el mismo aparece el mensaje.

Elementos del lenguaje.


Introduccin.
Como todo lenguaje de programacin, Visual Basic tiene un conjunto de variables y estructuras que el
programador puede usar. Empezaremos introduciendo conceptos poco a poco ya que la extensin del
lenguaje hara necesaria la dedicacin de mucho tiempo para conocerlo todo antes de empezar a
realizar el primer programa. A medida que avancemos se irn aadiendo conceptos, slo los ms
importantes en cada caso ya que estudiarlos en profundidad hara del curso una labor muy tediosa.
Sirva como ejemplo que el control Textbox tiene 43 propiedades, 24 eventos y 11 mtodos. Cierto es
que muchos elementos son comunes a otros controles, por eso slo veremos los ms 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: Nmero entero que oscila entre los valores -32.768 y 32.767
Long: Nmero entero (entero largo) que oscila entre los valores -2.147.483.648 y 2.147.483.647
Simple: Nmero real que oscila entre los valores -3.40E+38 y 3.40E+38
Double: Nmero real que oscila entre los valores -1.8E+308 y 1.8E+308
Variant: Puede representar diferentes tipos de datos en distintas situaciones.
String: Cadena de caracteres, sirve para almacenar textos, aproximadamente hasta 65000
caracteres.
Boolean: Slo admite dos estados, Verdadero (True) (-1) o Falso (False) (0).

Date: Almacena fecha y hora.


An hay ms tipos, pero en principio slo 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:
Dim Nombre_de_la_variable As tipo
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 tamao entre parntesis: 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 dnde hacemos la declaracin, ya que si la hacemos dentro de un
procedimiento especfico, esta slo 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 inicializacin del valor de la variable, cosa que deberemos hacer salvo que nos
sirvan los valores por defecto: 0 para las numricas y "" para las alfanumricas. Esto deberemos
hacerlo dentro de algn procedimiento ya que en el rea General no es posible, aunque sea una
variable comn. La sintaxis adecuada es:
Nombre_de_la_variable = Valor o expresin
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, buscndolo tanto en la solapa Existente como en la
solapa Recientes.
El objetivo es incluir un contador que me informe del nmero de veces que he pulsado el botn, 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 botn, con lo que por mucho que
la incrementemos, no conseguiremos que nos muestre el nmero de veces que lo hemos pulsado.
Necesitamos declararla fuera del procedimiento, bien pues escribimos la declaracin al inicio del
cdigo: Dim contador As Integer, fuera de cualquier procedimiento (rea General), con esto
conseguimos que sea una variable pblica para nuestro formulario y que slo se inicialice al ejecutar
el programa. Adems observaremos como el editor de cdigo nos separa esta declaracin del resto de
procedimientos mediante una lnea horizontal.
Modificamos el procedimiento Private Sub Command1_Click(), de forma que nos quede: Print
"Has pulsado el botn"; contador; "veces", aadimos debajo de esta: contador = contador + 1
y ejecutamos. Comenzando por 0 veremos como se incrementa el nmero cada vez que pulsemos el
botn.

El siguiente paso en la depuracin del programa sera conseguir que comenzase por 1 y no por 0. Si
inicializamos la variable contador a 1 en el procedimiento Private Sub Command1_Click(), tenemos
el mismo problema que antes, no conseguimos que se incremente ya que cada vez que pulsemos,
vuelve a valer 1.
Podemos pensar que la solucin 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) slo
podemos declarar variables, pero no inicializarlas.
La solucin est en usar un evento que se dispare automticamente una sola vez al inicio de la
ejecucin 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 parmetros comunes y especificaciones
iniciales del formulario.
En la ventana de cdigo, desplegamos el cuadro combinado de la izquierda y veremos los objetos de
los que disponemos, seleccionamos Form, en el cuadro combinado de la derecha veremos que
automticamente sale el evento Load y nos escribe en el cdigo el encabezamiento y pie del
procedimiento Private Sub Form_Load(). Si necesitsemos usar otro evento del objeto Form,
bastara con desplegar el cuadro combinado de la derecha donde veramos todos los que tiene
disponible ese objeto. En este procedimiento escribimos la inicializacin de la variable a 1,
quedndonos la ventana de cdigo:

Operadores.
Para construir expresiones, adems de variables o constantes utilizaremos los operadores, que se
clasifican de la siguiente forma y respetando la jerarqua que con la que aparecen:
ARITMTICOS.
^ Exponenciacin.
* Multiplicacin

/ Divisin

\ Divisin entera
MOD Mdulo (resto de la divisin entera)
+ Suma

- Resta

ALFANUMRICOS.
&, + Concatenan textos.

LGICOS.
NOT Negacin
AND Y
OR O
COMPARATIVOS.
< Menor que

<= Menor o igual que

> Mayor que

>= Mayor o igual que

= Igual que

<>, != Distinto que

Estructuras.
A continuacin veremos las estructuras que podemos usar en Visual Basic:
ESTRUCTURAS DE DECISIN
If: Esta estructura nos permite desviar el flujo de programa dependiendo de si se cumple una
condicin. La sintaxis es:
If Condicin then
Conjunto de ordenes que se ejecutarn cuando la Condicin sea verdadera.
Else
Conjunto de ordenes que se ejecutarn cuando la Condicin sea falsa.
End If
Select: Dependiendo del valor de una expresin o variable ejecuta una opcin u otra. La sintaxis es:
Select Case Expresin
Case Valor1
Conjunto de ordenes que se ejecutarn cuando la Expresin tenga Valor1.
Case Valor2
Conjunto de ordenes que se ejecutarn cuando la Expresin tenga Valor2.
............
Case Else
Conjunto de ordenes que se ejecutarn cuando la Expresin no sea ningn valor
anterior.
End Select
ESTRUCTURAS DE BUCLE
Las estructuras de bucle permiten ejecutar una o ms lneas de cdigo repetidamente. Las estructuras
de bucle que acepta Visual Basic son:
Do...Loop: Utilizaremos el bucle Do para ejecutar un bloque de instrucciones un nmero indefinido
de veces. Hay algunas variantes en la instruccin Do...Loop, pero cada una evala una condicin
numrica para determinar si contina la ejecucin. Como ocurre con If...Then, la condicin debe ser
un valor o una expresin que d como resultado False (cero) o True (distinto de cero).
Las instrucciones se ejecutan siempre y cuando condicin sea True, la sintaxis es:
Do While condicin
instrucciones
Loop

Cuando Visual Basic ejecuta este bucle Do, primero evala condicin. Si condicin es False (cero), se
salta todas las instrucciones. Si es True (distinto de cero), Visual Basic ejecuta las instrucciones,
vuelve a la instruccin Do While y prueba la condicin de nuevo.
Por tanto, el bucle se puede ejecutar cualquier nmero de veces, siempre y cuando condicin sea
distinta de cero o True. Nunca se ejecutan las instrucciones si condicin es False inicialmente.
Otra variante de la instruccin Do...Loop ejecuta las instrucciones primero y prueba condicin
despus de cada ejecucin. Esta variacin garantiza al menos una ejecucin de instrucciones:
Do
instrucciones
Loop While condicin
Hay otras dos variantes anlogas a las dos anteriores, excepto en que repiten el bucle siempre y
cuando condicin sea False en vez de True.
Hace el bucle cero o ms veces

Hace el bucle al menos una vez

Do Until condicin
instrucciones
Loop

Do
instrucciones
Loop Until condicin

For...Next
Los bucles Do funcionan bien cuando no se sabe cuntas veces se necesitar ejecutar las
instrucciones del bucle. Sin embargo, cuando se sabe que se van a ejecutar las instrucciones un
nmero determinado de veces, es mejor elegir el bucle ForNext. A diferencia del bucle Do, el bucle
For utiliza una variable llamada contador que incrementa o reduce su valor en cada repeticin del
bucle. La sintaxis es la siguiente:
For contador = iniciar To finalizar [Step incremento]
instrucciones
Next [contador]
Los argumentos contador, iniciar, finalizar e incremento son todos numricos.
Nota El argumento incremento puede ser positivo o negativo. Si incremento es positivo, iniciar debe
ser menor o igual que finalizar o no se ejecutarn 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.
Al ejecutar el bucle For, Visual Basic:
1. Establece contador al mismo valor que iniciar.
2. Comprueba si contador es mayor que finalizar. Si lo es, Visual Basic sale del bucle.
(Si incremento es negativo, Visual Basic comprueba si contador es menor que finalizar.)
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 botn la primera vez,
el texto que muestre sea "Has pulsado el botn 1 vez", en lugar de lo que muestra ahora que es: "Has
pulsado el botn 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 cdigo, mostrar:

Adems modificar el tamao del formulario y el botn, as como su posicin, de forma que el resultado
sea:

Salir guardando todos los cambios.

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
botn de forma que al pulsarlo el programa haga lo siguiente: asigne a las variables Nombre y
Apellidos los textos correspondientes, mediante concatenacin construya la variable Todo,
compuesta de los contenidos de Nombre y Apellidos mostrando por pantalla el contenido de la
variable Todo.
Ayuda: Para asignar valores a una variable de tipo String, deberemos encerrar entre comillas el texto:
Nombre = "Ramn".

Si hacemos concatenacin normal entre la variables el resultado mostrar los textos sin separacin,
podramos 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 botn de
forma que al pulsarlo nos muestre por pantalla cinco lneas que se correspondern a cinco pasos del
bucle. Incluso numeraremos cada lnea con un contador.
Ayuda: Para realizar este ejercicio, basta con usar un bucle de tipo For, ya que cada vez que
pulsemos el botn reiniciaremos la cuenta de las lneas.
Ejercicio 3.
Crear un nuevo proyecto, vamos a ver como mantener un acumulador. Insertaremos un botn de
forma que al pulsarlo nos muestre por pantalla cinco lneas que se correspondern a cinco pasos del
bucle. Incluso numeraremos cada lnea con un contador. Adems, a diferencia del ejercicio anterior,
cuando volvamos a pulsar el botn la numeracin de las lneas 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 botn, contine la cuenta de las lneas, deberemos declarar otra variable que
inicializaremos en el Form_Load del formulario. Esta nueva variable ser la que mostraremos y como
slo 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).
Como el orden de ejecucin es de derecha a izquierda, primero incrementa la variable en uno y luego
se lo asigna a la misma variable, con lo que conseguimos que se vaya incrementando de uno en uno.

Funciones y palabras reservadas.


Visual Basic tiene un conjunto de funciones que podremos usar. A continuacin veremos las ms
representativas, si bien hay muchas ms. Se aconseja ir a la ayuda para ampliar o profundizar sobre
la cuestin
Palabras reservadas.
Rem: Nos permite incluir comentarios sobre el programa en medio del cdigo, la sintaxis es:
Rem Comentario
Adems, 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 cdigo reconoce los comentarios ya que les aplica como color del
texto el verde.
Exit Sub: Nos permite acabar la ejecucin del procedimiento en el que lo pongamos, y en punto del
mismo donde se halle situado.
End: Nos permite acabar la ejecucin del programa en el punto del mismo donde se halle situado.
Funciones.
MsgBox: Muestra un mensaje en un cuadro de dilogo, espera a que el usuario haga clic en un botn
y devuelve un tipo Integer correspondiente al botn elegido por el usuario.
Sintaxis
MsgBox(prompt[, buttons][, title][, helpfile, context])
La sintaxis de la funcin MsgBox consta de estos argumentos:
Parte

Descripcin

prompt

Requerido. Cadena que representa el prompt en el cuadro de dilogo. La longitud


mxima de prompt es de aproximadamente 1024 caracteres, segn el ancho de los
caracteres utilizados.

buttons

Opcional. Expresin numrica que corresponde a la suma de los valores que especifican
el nmero y el tipo de los botones que se pretenden mostrar, el estilo de icono que se va
a utilizar, la identidad del botn predeterminado y la modalidad del cuadro de mensajes.
Si se omite este argumento, el valor predeterminado para buttons es 0.

title

Opcional. Expresin de cadena que se muestra en la barra de ttulo del cuadro de


dilogo. Si se omite title, en la barra de ttulo se coloca el nombre de la aplicacin.

helpfile

Opcional. Expresin de cadena que identifica el archivo de Ayuda que se utiliza para
proporcionar ayuda interactiva en el cuadro de dilogo. Si se especifica helpfile,
tambin se debe especificar context.

context

Opcional. Expresin numrica que es igual al nmero de contexto de Ayuda asignado por
el autor al tema de Ayuda correspondiente. Si se especifica context, tambin se debe
especificar helpfile.

Valores
El argumento buttons tiene estos valores:
Constante

Valor

Descripcin

VbOKOnly

Muestra solamente el botn Aceptar.

VbOKCancel

Muestra los botones Aceptar y Cancelar.

VbAbortRetryIgnore

Muestra los botones Anular, Reintentar e Ignorar.

VbYesNoCancel

Muestra los botones S, No y Cancelar.

VbYesNo

Muestra los botones S y No.

VbRetryCancel

Muestra los botones Reintentar y Cancelar.

VbCritical

16

Muestra el icono de mensaje crtico.

VbQuestion

32

Muestra el icono de pregunta de advertencia.

VbExclamation

48

Muestra el icono de mensaje de advertencia.

VbInformation

64

Muestra el icono de mensaje de informacin.

VbDefaultButton1

El primer botn es el predeterminado.

VbDefaultButton2

256

El segundo botn es el predeterminado.

VbDefaultButton3

512

El tercer botn es el predeterminado.

VbDefaultButton4

768

El cuarto botn es el predeterminado.

VbApplicationModal

Aplicacin modal; el usuario debe responder al cuadro de


mensajes antes de poder seguir trabajando en la aplicacin
actual.

VbSystemModal

4096

Sistema modal; se suspenden todas las aplicaciones hasta


que el usuario responda al cuadro de mensajes.

VbMsgBoxHelpButton

16384

Agrega el botn Ayuda al cuadro de mensaje.

VbMsgBoxSetForeground

65536

Especifica la ventana del cuadro de mensaje como la ventana


de primer plano.

VbMsgBoxRight

524288

El texto se alinea a la derecha.

VbMsgBoxRtlReading

1048576

Especifica que el texto debe aparecer para ser ledo de


derecha a izquierda en sistemas hebreo y rabe.

El primer grupo de valores (0 a 5) describe el nmero y el tipo de los botones mostrados en el cuadro
de dilogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512)
determina el botn predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de
mensajes. Cuando se suman nmeros para obtener el valor final del argumento buttons, se utiliza
solamente un nmero de cada grupo.
Nota: Estas constantes las especifica Visual Basic para Aplicaciones. Por tanto, el nombre de las
mismas puede utilizarse en cualquier lugar del cdigo en vez de sus valores reales.
Valores devueltos
Constante

Valor

Descripcin

vbOK

Aceptar

vbCancel

Cancelar

vbAbort

Anular

vbRetry

Reintentar

vbIgnore

Ignorar

vbYes

vbNo

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,
tambin agregan automticamente un botn Ayuda al cuadro de dilogo.
Si el cuadro de dilogo cuenta con un botn Cancelar, presionar la tecla ESC tendr el mismo efecto
que hacer clic en este botn. Si el cuadro de dilogo contiene un botn Ayuda, se suministra ayuda
interactiva para ese cuadro de dilogo. Sin embargo, no se devuelve valor alguno hasta que se hace
clic en uno de estos botones.
Nota: Si se desea especificar ms que el primer argumento con nombre, se debe utilizar MsgBox en
una expresin. Si deseamos omitir algn argumento de posicin, debemos incluir el delimitador de
coma correspondiente.

Ejemplo.
La siguiente orden genera un cuadro al cual le indicamos ttulo, texto, le ponemos tres botones: S, No
y Cancelar. Adems le incluimos el icono de pregunta:
MsgBox "Esta
"Confirmacin"

seguro

de

que

quiere

continuar?",

vbYesNoCancel

vbQuestion,

El resultado en ejecucin es:

InputBox: Muestra un mensaje en un cuadro de dilogo, espera que el usuario escriba un texto o
haga clic en un botn y devuelve un tipo String con el contenido del cuadro de texto.
Sintaxis
InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
La sintaxis de la funcin InputBox consta de estos argumentos:
Parte

Descripcin

prompt

Requerido. Cadena que se muestra como mensaje en el cuadro de dilogo. La longitud


mxima de prompt es de aproximadamente 1024 caracteres, segn el ancho de los
caracteres utilizados.

title

Opcional. Expresin de cadena que se muestra en la barra de ttulo del cuadro de


dilogo. Si omite title, en la barra de ttulo se coloca el nombre de la aplicacin.

default

Opcional. Expresin de cadena que se muestra en el cuadro de texto como respuesta


predeterminada cuando no se suministra una cadena. Si omite default, se muestra el
cuadro de texto vaco.

xpos

Opcional. Expresin numrica que especifica, en twips, la distancia en sentido

horizontal entre el borde izquierdo del cuadro de dilogo y el borde izquierdo de la


pantalla. Si se omite xpos, el cuadro de dilogo se centra horizontalmente.
ypos

Opcional. Expresin numrica que especifica, en twips, la distancia en sentido vertical


entre el borde superior del cuadro de dilogo y el borde superior de la pantalla. Si se
omite ypos, el cuadro de dilogo se coloca a aproximadamente un tercio de la altura
de la pantalla, desde el borde superior de la misma.

helpfile

Opcional. Expresin de cadena que identifica el archivo de Ayuda que se utilizar para
proporcionar ayuda interactiva para el cuadro de dilogo. Si se especifica helpfile,
tambin deber especificarse context.

context

Opcional. Expresin numrica que es el nmero de contexto de Ayuda asignado por el


autor al tema de Ayuda correspondiente. Si se especifica context, tambin deber
especificarse helpfile.
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, tambin
agregan automticamente un botn Ayuda al cuadro de dilogo. Si el usuario hace clic en Aceptar
o presiona Entrar , la funcin InputBox devuelve lo que haya en el cuadro de texto. Si el usuario hace
clic en Cancelar, la funcin devuelve una cadena de caracteres de longitud cero ("").
Nota: Si deseamos especificar ms que el primer argumento con nombre, debemos utilizar InputBox
en una expresin. Si deseamos omitir algunos argumentos de posicin, debemos incluir el delimitador
de coma correspondiente.
Ejemplo.
La siguiente orden genera un cuadro al cual le indicamos texto, ttulo y asignamos el texto que
escriba el usuario a la variable cadena:
Dim cadena As String
cadena = InputBox("Introduzca el nombre del usuario", "Identificacin")
Observar que como asignamos el resultado de la funcin InputBox a una variable, debemos encerrar
los argumentos entre parntesis.
El resultado en ejecucin es:

Format: Visual Basic proporciona una gran flexibilidad a la hora de presentar formatos de nmeros,
as como de fechas y horas. Puede presentar con facilidad formatos internacionales de nmeros,
fechas y horas.

La funcin Format convierte un valor numrico en una cadena de texto y le proporciona control sobre
la apariencia de la cadena. Por ejemplo, podemos especificar el nmero de decimales, los ceros a la
izquierda o a la derecha y los formatos de moneda. La sintaxis es:
Format(expresin[, patrn o mscara])
El argumento expresin especifica el nmero que se va a convertir y el argumento patrn o mscara
es una cadena compuesta por smbolos que determinan el formato del nmero. En la tabla siguiente
se enumeran los smbolos ms comnmente utilizados.
Smbolo

Descripcin

Marcador de posicin de dgito; imprime un cero a la izquierda o a la derecha


en esa posicin, si corresponde.

Marcador de posicin de dgito; nunca imprime ceros a la izquierda ni a la


derecha.

Marcador de posicin decimal.

Separador de millares.

+ $ ( ) espacio

Carcter literal; los caracteres se presentan exactamente como estn escritos


en la cadena de formato.

Ejemplo: Format(32675,"##,##0.00") mostrara en pantalla: 32.675,00


Formatos con nombre
Visual Basic proporciona varios formatos estndar para su uso con la funcin Format. En lugar de
especificar smbolos en el argumento formato, puede especificar dichos formatos mediante un
nombre en el argumento formato de la funcin Format. El nombre del formato tiene que ir siempre
entre comillas dobles ("").
En la tabla siguiente se enumeran los nombres de formato que puede usar.
Nombre de formato

Descripcin

General Number

Muestra los nmeros sin separador de millares.

Currency

Muestra los nmeros con separador de millares, si procede; muestra dos


dgitos a la derecha del separador decimal. El resultado se basa en los valores
del sistema del usuario.

Fixed

Muestra al menos un dgito a la izquierda y dos dgitos a la derecha del


separador decimal.

Standard

Muestra los nmeros con separador de millares, al menos un dgito a la


izquierda y dos dgitos a la derecha.

Percent

Multiplica el valor por 100 con un signo de porcentaje al final.

Scientific

Utiliza la notacin cientfica estndar.

General Date

Muestra la fecha y la hora si expresin contiene ambas. Si expresin slo es


una fecha o una hora, no presenta la informacin que falta. La presentacin
de la fecha est determinada por los valores del sistema del usuario.

Long Date

Utiliza el formato Fecha larga especificado por los valores del sistema del
usuario.

Medium Date

Utiliza el formato dd-mmm-aa (por ejemplo, 03-Abr-93). La presentacin de la


fecha est determinada por los valores del sistema del usuario.

Short Date

Utiliza el formato Fecha corta especificado por los valores del sistema del
usuario.

Long Time

Muestra la hora segn el formato de hora larga del sistema del usuario;
incluye horas, minutos y segundos.

Medium Time

Muestra la hora, los minutos y "AM" o "PM" con el formato "hh:mm AM/PM".

Short Time

Muestra la hora y los minutos con el formato hh:mm.

Yes/No

Cualquier valor numrico distinto de cero (normalmente 1) es Yes. Cero es


No.

True/False

Cualquier valor numrico distinto de cero (normalmente 1) es True. Cero es


False.

On/Of

Cualquier valor numrico distinto de cero (normalmente 1) es On. Cero es


Of.

Imprimir fechas y horas con formato


Para imprimir fechas y horas con formato, utilizaremos la funcin Format con smbolos que
representen fechas y horas. En los ejemplos siguientes se utilizan las funciones Now y Format para
identificar y dar formato a la fecha y hora actuales.
Sintaxis de Format

Resultado

Format(Now, "d/m/aa")

1/12/01

Format(Now, "dddd, dd mmmm, aaaa")

sbado, 01 diciembre, 2001

Format(Now, "d-mmm")

1-dic

Format(Now, "mmmm-aa")

diciembre-01

Format(Now, "hh:mm AM/PM")

07:18 AM

Format(Now, "h:mm:ss a/p")

7:18:00 a

Format(Now, "d-mmmm h:mm")

1-diciembre 7:18

Int: Devuelve la parte entera de un nmero: Int(Nmero).


Len: Devuelve la longitud de una cadena: Len(Cadena).
Rnd: Devuelve un nmero aleatorio entre 0 y 1.
Val: Devuelve el valor numrico de una cadena alfanumrica, solo convierte hasta que encuentra el
primer carcter que no es un nmero: Val(Cadena).
An hay muchas ms funciones, cuando las necesitemos, ya las estudiaremos.
Propiedades comunes.
A continuacin veremos algunas propiedades comunes a la mayora de los controles, estas se podrn
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 cdigo.
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 botn en nuestro formulario que al pulsarlo nos acabe la
ejecucin, internamente le llamaremos BotonSalir, pero basta con que le pongamos como Caption
Salir, que es lo que ver el usuario.
Enabled: Slo admite dos valores: True o False, e indica si el control est o no activado.
Visible: Slo 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 botn en la parte
inferior derecha, ponerle como nombre BotonSalir y como Caption Salir ( si queremos que el
usuario pueda activar el botn con la combinacin de teclas ALT + S, deberemos anteponer a la letra
S del caption el smbolo &).
A este botn le insertaremos cdigo de forma que cuando el usuario pulse, salga un cuadro por
pantalla pidiendo confirmacin para salir del programa, si el usuario pulsa S, debe acabar la ejecucin
y si pulsa No, no debe hacer nada.
Insertar otro botn 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 botn con la combinacin
de teclas ALT + F, deberemos anteponer a la letra F del caption el smbolo &)
A este botn le insertaremos cdigo de forma que cuando el usuario pulse, imprima en el formulario la
fecha en formato largo, es decir, da de la semana, da, nombre del mes y ao con 4 cifras. Debajo
debe imprimir la hora del sistema. El formulario en diseo quedar:

Y la ventana de cdigo:

Observar que para continuar una lnea de cdigo en la siguiente, se utiliza despus de un espacio el
guin bajo.
Ejercicios

Ejercicio 1.
Crear un proyecto que se llamar Ejercicio1, y que consiste en un formulario con un botn, que al
pulsarlo pida mediante un InputBox la identificacin del usuario, es necesario controlar que el usuario
no deje vaco 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 botn, que al
pulsarlo pida mediante un InputBox un nmero entero positivo, es necesario controlar que el usuario
no deje vaco el InputBox, de forma que no deje continuar hasta que haya escrito el nmero.
Posteriormente debe mostrar la suma de todos los nmeros entre el 1 y el nmero introducido.
Ayuda: Utilizar un bucle For - Next, para calcular la suma. Como lo que devuelve el InputBox es una
cadena, habr que convertirla a nmero antes de efectuar las operaciones aritmticas. 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 despus 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 botn, que al
pulsarlo pida mediante un InputBox un nmero entero comprendido entre 1 y 10 (es decir una
calificacin acadmica), es necesario controlar que el usuario no deje vaco el InputBox, de forma que
no deje continuar hasta que haya escrito el nmero. Posteriormente debe mostrar la calificacin 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
ms de un valor en el case, debern ir separados por comas.

También podría gustarte