Está en la página 1de 102

INDICE

1. INTRODUCCIN ................................................................................................................................... 3
2. EL ENTORNO DE VISUAL BASIC .................................................................................................... 4
2.1. LA BARRA DE MENS ...................................................................................................................... 5
2.2. LA BARRA DE HERRAMIENTAS ........................................................................................................ 5
2.3. LA CAJA DE HERRAMIENTAS ........................................................................................................... 6
2.4. FORMULARIOS................................................................................................................................. 6
2.5. VENTANA DEL PROYECTO (PROJECT) ............................................................................................ 7
2.6. VENTANA DE PROPIEDADES (PROPERTIES) ................................................................................... 7
3. CONTROLES MS USADOS ............................................................................................................. 8
3.1. BOTN DE COMANDO (COMMANBUTTON) ..................................................................................... 8
3.2. ETIQUETA (LABEL).......................................................................................................................... 8
3.3. CAJA DE TEXTO (TEXTBOX) ........................................................................................................... 9
4. ENTRADA Y SALIDA ......................................................................................................................... 11
4.1. LEER DE TECLADO ........................................................................................................................ 11
4.1.1. InputBox (Caja de entrada de datos) ......................................................................... 11
4.2. IMPRIMIR EN PANTALLA................................................................................................................. 11
4.2.1. Caja de texto .................................................................................................................... 11
4.2.2. MsgBox (Caja de mensaje) ........................................................................................... 11
5. PROGRAMACIN EN VISUAL BASIC ........................................................................................... 14
5.1. COMENTARIOS .............................................................................................................................. 14
5.2. VARIABLES .................................................................................................................................... 14
5.2.1. Nombre .............................................................................................................................. 14
5.2.2. Variables y constantes .................................................................................................. 14
5.2.3. Tipos de datos ................................................................................................................. 14
5.3. OPERADORES................................................................................................................................ 15
5.4. ESTRUCTURAS DE CONTROL ........................................................................................................ 16
5.4.1. Estructuras de control secuenciales ......................................................................... 16
5.4.2. Estructuras de control selectivas............................................................................... 18
1 Simple ......................................................................................................................................................18
2 Doble........................................................................................................................................................19
3 Anidada ...................................................................................................................................................21
5.4.3. Estructuras de control repetitivas o iterativas........................................................ 22
1 Para ..........................................................................................................................................................23
2 Mientras...................................................................................................................................................24
6. FUNCIONES Y PROCEDIMIENTOS................................................................................................ 27
7. ARREGLOS.......................................................................................................................................... 32
7.1. VECTORES ..................................................................................................................................... 32
7.2. MATRICES ..................................................................................................................................... 36
EJEMPLO 7.4:.............................................................................................................................................. 36
8. CADENAS DE CARACTERES Y ARCHIVOS................................................................................ 41
8.1. CADENAS ...................................................................................................................................... 41
8.2. ARCHIVOS ..................................................................................................................................... 43
8.2.1. Lectura y escritura de archivos secuenciales......................................................... 43
1 Apertura y cierre ...................................................................................................................................43
2 Lectura.....................................................................................................................................................43
3 Escritura..................................................................................................................................................44
9. CONTROLES SEGUNDA PARTE.................................................................................................... 46
9.1. BOTONES DE OPCIN (OPTION BUTTON)..................................................................................... 46
9.2. BOTONES DE SELECCIN (CHECK BOX) ...................................................................................... 46
9.3. BARRAS DE DESPLAZAMIENTO (SCROLLBAR) ............................................................................ 47
9.4. CAJAS COMBINADAS (COMBOBOX) ............................................................................................. 51
Ing. Hugo Marcelo Muriel Arriaran
9.5. CONTROLES PARA ARCHIVOS ....................................................................................................... 54
9.6. CONTROL TIMER ............................................................................................................................ 56
10. MANEJO DE EVENTOS................................................................................................................ 58
10.1. EVENTOS GENERALES .................................................................................................................. 58
10.1.1. Formularios ...................................................................................................................... 58
10.1.2. Paint ................................................................................................................................... 58
10.1.3. Focus ................................................................................................................................. 61
10.1.4. Keys Events (Evento de las teclas) ............................................................................ 62
10.2. EVENTOS DEL RATN .................................................................................................................... 64
10.2.1. Click y DblClick ............................................................................................................... 64
10.2.2. MouseDown, MouseUp, MouseMove......................................................................... 64
11. CAJAS DE DILOGO.................................................................................................................... 68
11.1. ABRIR/GUARDAR (OPEN/SAVE DIALOG CONTROL).................................................................... 68
11.2. IMPRIMIR (PRINT DIALOG CONTROL) ........................................................................................... 70
12. MENS ............................................................................................................................................. 71
12.1. EDITOR DE MENS (MENU EDITOR) ............................................................................................. 71
12.1.1. Elementos ......................................................................................................................... 71
12.2. PROGRAMAR LOS MENS ............................................................................................................. 72
13. UTILIZACIN DE IMPRESORAS................................................................................................ 75
13.1. PRINTFORM ................................................................................................................................... 75
13.2. PRINTER ........................................................................................................................................ 75
13.3. CAJA DE DILOGO MSGBOX ........................................................................................................ 76
13.4. CAJA DE DILOGO FONT (FONT DIALOG CONTROL) ................................................................... 76
14. BASES DE DATOS ........................................................................................................................ 80
14.1. MYSQL ......................................................................................................................................... 80
15. INTERACCIN CON OTROS SISTEMAS ................................................................................. 83
15.1. TRABAJANDO CON MICROSOFT WORD ........................................................................................ 83
15.1.1. Trabajar con Archivos Word ........................................................................................ 84
15.1.2. Imprimir Archivos Word ................................................................................................ 85
15.1.3. Macros ............................................................................................................................... 88
1 BVA y Macros ........................................................................................................................................88
2 Almacenamiento ...................................................................................................................................88
3 Comenzando con la Macro.................................................................................................................88
4 Creando Macros ....................................................................................................................................88
5 Ejemplos .................................................................................................................................................89
15.1.4. Creacin de documentos inteligentes....................................................................... 90
1 Ejemplos de documentos inteligentes ............................................................................................91
15.2. TRABAJANDO CON MICROSOFT EXCEL ....................................................................................... 92
15.2.1. Macros ............................................................................................................................... 92
15.3. VISUAL BASIC PARA AUTOCAD .................................................................................................. 100
15.3.1. Editor de Visual Basic ................................................................................................. 100
15.3.2. Dibujo de figuras bsicas con VBA ......................................................................... 101
15.3.3. Importar Exportar Datos de entre AUTOCAD Y EXCEL ...................................... 102

2
CAPITULO 1

Introduccin

1. Introduccin
sta es una gua bsica ilustrativa para principiantes en Visual Basic. El objetivo
es introducir de un modo sencillo a utilizar el entorno de programacin y empezar a
crear programas en muy corto tiempo.

El mtodo de estudio de la gua es muy importante ya que se debe estudiarla de


manera secuencial, es decir sin saltarse ninguna pgina. Si se estudia del modo que
se sugiere se le garantiza buenos resultados. El hecho de que se le pida estudiar de
ste modo es que la gua fue diseada con un alto grado de relacin entre captulos.
Por lo tanto leer el siguiente captulo sin el anterior no es nada recomendable.

La gua trabaja tomando como base la versin 6.0 de Visual Basic, el cual debe
recordar est protegido por leyes internacionales de productos intelectuales. Cualquier
logotipo o marca registrada que se hace mencin en sta gua es propiedad de sus
autores.

Antes de empezar usted debe saber que:

Qu es VISUAL BASIC?

VISUAL BASIC es un entorno de programacin visual, est basado en un lenguaje


anterior llamado BASIC.
VISUAL BASIC tiene un entorno grfico y basado en eventos. Es basado en eventos
por tener una serie de objetos (botones, campos de texto, etiquetas, otros) que el
usuario puede usar, por lo tanto cada cual debe saber como responder.
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 2

El entorno de Visual
Basic

2. El entorno de Visual Basic


El entorno que se analizar es el del Visual Basic 6.0. Una vez instalado el programa
se lo ejecuta y se abre una ventana similar al de la figura 2.1.

Figura 2.1. Primera pantalla al abrir Visual Basic.

Para poder empezar lo que se tiene que hacer es seleccionar Standar.exe (est
seleccionado por defecto) y hacer clic con el ratn en Abrir. Lo que se hace con ello
es abrir un nuevo proyecto. La figura 2.2 muestra el aspecto que tiene el proyecto.

4
Ing. Hugo Marcelo Muriel Arriaran

Figura 2.2. Vista general de un nuevo proyecto.

Hasta el momento se ha creado un nuevo proyecto y la pregunta que surge es: Qu


hacen todos esos botones y mens y esas ventanas en el centro?
Para responder esa pregunta hay que explicar que son cada uno de ellos.

2.1. La barra de mens


Cualquiera que est familiarizado con programas en Windows no le es extrao la
barra de mens, que se muestra ms claramente en la figura 2.3.

Figura 2.3. Barra de men.

En este men estn prcticamente casi todas


las opciones de Visual Basic. Por el momento el
men ms importante es File. Haciendo clic en
esta opcin se ve como en la figura 2.4. Se
puede observar que haciendo clic en Save
Project se guarda el proyecto creado. Las
dems se irn explicando de acuerdo se
necesiten.

2.2. La barra de herramientas


La barra de herramientas que se muestra en la
figura 2.5 se conoce como estndar, esto por el

Figura 2.4. Opcin file.


5
Ing. Hugo Marcelo Muriel Arriaran

hecho de que Visual Basic coloca las opciones ms comunes en esta barra. De
esta barra los botones que ms usaremos son:
- Abrir (carpeta abrindose)
- Guardar (Disco de color marrn)
- Los botones para Iniciar, pausar y detener un programa. Estos tres botones se
ven mejor en la figura 2.6.
-

Figura 2.5. Barra de herramientas estndar

Figura 2.6. Botones para iniciar, pausar y detener

2.3. La caja de herramientas


En la figura 2.7 se muestra la caja de herramientas, que no es
nada ms que una agrupacin de controles. Un control es aquel
elemento que se puede colocar en la pantalla. Los controles ms
comunes que usaremos en principio son:
- CommandButton (Botn)
- Label (Etiqueta)
- TextBox (Caja de texto)
Estos controles estn encerrados en color rojo en la figura 2.7.
El resto de los controles se irn explicando segn se vayan
necesitando.
Para colocar un control en el formulario se hace clic en l y se
arrastra el ratn al formulario, donde aparece en forma de cruz,
en ese momento se hace clic y sin soltarlo se le da un tamao,
cuando el tamao sea el que se desea se deja de hacer clic.
2.4. Formularios
Los formularios son la ventana del centro que aparece en la
figura 2.2 y se ve mejor en la figura 2.8. Se utilizan para colocar
en ellos controles y el programa en s. Colocando estos
controles se est diseando la parte grfica del programa. Y
donde est la funcionalidad? La funcionalidad se refiere a la Figura 2.7
programacin que se hace despus de disear la parte grfica.
Para crear un programa entonces se debe hacer:
- Crear la interfaz grfica (colocar botones, campos de texto, otros).
- Programar, escribiendo algoritmos donde se necesiten.

Figura 2.8. Formulario

6
Ing. Hugo Marcelo Muriel Arriaran

2.5. Ventana del proyecto (project)


Esta ventana que se muestra en la figura 2.9 es
donde se pueden acceder a todos los formularios del
proyecto. En la parte superior tiene dos botones
importantes:
- View Objet: Haciendo clic en l permite ver el
diseo grfico de cualquier formulario.
- View Code: Haciendo clic en este botn permite
ver el cdigo (algoritmos) de cualquier formulario
que se quiera. Figura 2.9. Ventana Proyecto

2.6. Ventana de propiedades (Properties)


Esta ventana es bastante til. Todos los objetos
(formularios, controles, otros) en Visual Basic tienen
propiedades.
La figura 2.10 muestra la ventana de propiedades
que es una lista ordenada alfabticamente o por
categoras.
Las propiedades ms importantes a usarse en
principio son:
- Name (Nombre del objeto)
- Caption (Etiqueta o ttulo)
- Text (Texto que contiene)

Algo bien importante es la convencin para los


nombres de los controles, primero se colocan tres
letras en minsculas que representan el control y Figura 2.10. Ventana Propiedades
luego recin el nombre con la primera letra en
mayscula. La tabla 2.1 muestra el detalle para los controles ms comunes que se
usarn.

Abreviatura
Control
(3 letras)
cmd CommandButton
txt TextBox
frm Form
lbl Label
Tabla 2.1. Abreviaturas para los controles ms comunes

Por ejemplo para darle nombre a un botn (CommandButton) se colocara algo


as: cmdBoton, colocando primero las tres primeras letras y luego el nombre
deseado. Lo mismo sucede para los dems controles.
Otros ejemplos seran para un:
- Formulario: frmFormulario
- Campo de texto: txtLetras
- Etiqueta: lblEtiqueta
Es importante ubicar todos estos elementos descritos en este apartado en el programa
de Visual Basic. Un buen albail sabe donde est su herramienta y como debe usarla.

7
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 3

Controles ms
usados
3. Controles ms usados
Los siguientes controles son los ms tiles y los que ms se utilizarn en el
aprendizaje de Visual Basic.

3.1. Botn de comando (CommanButton)


Imagnese para que pudiera usar un botn?
Seguramente encontrara muchas respuestas, entre ellas ejecutar ciertas
operaciones, mostrar ciertos mensajes, y muchas otras.
La figura 2.7 muestra el smbolo de un boton ( ). En el apartado 2.6 se hablaron
de las propiedades ms comunes a usarse en el caso del botn estas son:
- Name: Es el nombre del botn, es como un nombre de variable que se usa en
programacin.
- Caption: Es el ttulo del botn, es el texto que aparece sobre el botn.

La figura 3.1 es un ejemplo de un botn colocado en un formulario, la manera de


colocar un control en un formulario se explic en el apartado 2.3.

Figura 3.1. Ejemplo de botn con propiedades resaltadas

3.2. Etiqueta (Label)


Qu es una etiqueta?
El sentido comn basta para saber que es una etiqueta, y mejor an es saber que
Visual Basic deja ponerla donde mejor le parezca a uno.
La figura 2.7 muestra el Label encerrado en un crculo rojo ( ).
Las propiedades ms importantes a usar son:

8
Ing. Hugo Marcelo Muriel Arriaran

- Name: Nombre de la etiqueta


- Caption: Texto que aparece sobre la etiqueta.

La figura 3.2 es un
ejemplo de una
etiqueta, para colocar
este control en un
formulario lea el
apartado 2.3.

3.3. Caja de texto


(TextBox)
Qu es una caja de
texto?
Una caja de texto es
un control en el cual
se puede escribir con Figura 3.2. Ejemplo de etiqueta con propiedades resaltadas
el teclado. Imagnese
que necesita escribir alguna informacin pues entonces debe usar una caja de
texto (TextBox).
En la figura 2.7 se muestra la caja de texto ( ). Las propiedades ms importantes
que se usarn son:
- Name: Es el nombre de la caja de texto
- Text: Esta propiedad corresponde al texto que se muestra dentro la caja de
texto.

Se habr notado que este control no tiene la propiedad Caption Es lgico cierto?
En la figura 3.3 se muestra un ejemplo de una caja de texto colocada en un
formulario, resaltando la caja de texto y sus propiedades descritas.

Figura 3.3. Ejemplo de caja de texto resaltada

Ya se sabe como colocar controles sobre un formulario y tambin ya se conocen las


propiedades ms importantes de los mismos.

9
Ing. Hugo Marcelo Muriel Arriaran

En este punto uno se preguntar Y solamente so colocan los controles y sin hacer
nada funcionan?
La respuesta a esta pregunta es que slo se ha diseado la apariencia de los
controles.
Qu falta?
Falta colocarles los algoritmos para
que funcionen.
Dnde se colocan los algoritmos?
En el apartado 2.5 se habla de dos
botones de la ventana de proyecto
que permiten cambiar entre vista
diseo y vista cdigo. Cuando se
selecciona un control o un formulario y
se le da vista cdigo se muestra
donde se tiene que colocar los
algoritmos.
Muy complicado?
Ms fcil an, haciendo doble clic
sobre un formulario o un control se
muestra la vista de cdigo. En esta Figura 3.4. Vista de cdigo para un formulario
vista aparecen dos lneas con color,
entre esas dos lneas se colocan los algoritmos que se deseen.

Las figura 3.4 y la figura 3.5


muestran vistas de cdigo para un
formulario y un botn. El lugar
donde se deben colocar los
algoritmos se encuentra resaltado.

Figura 3.5. Vista de cdigo para un botn

10
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 4

Entrada y Salida
4. Entrada y Salida
Este captulo muestra como interactuar con el usuario. Los aspectos ms importantes
sern como leer datos y como imprimir datos por pantalla.

4.1. Leer de teclado

4.1.1. InputBox (Caja de entrada de datos)


Esta caja pide al usuario que ingrese datos desde el teclado como podran ser
su nombre, edad, telfono, otros.
La manera de uso es la siguiente:

En pseudocodigo se colocaba:
leer a
leer b
En Visual Basic:
a=InputBox(Ingrese a)
b=InputBox(Ingrese b)

Es muy sencillo leer desde teclado y con la prctica se hace mucho ms


sencillo.

4.2. Imprimir en pantalla

4.2.1. Caja de texto


El uso de las cajas de texto es lo ms simple para mostrar los resultados de
los programas en Visual Basic.
El uso de las cajas de texto se explic en el apartado 3.3.
Su forma de uso es muy sencilla:
Suponga que coloc una caja de texto en un formulario, en el atributo Name le
puso txtMensaje y text lo dej vaco.

En pseudocdigo se colocaba:
imprimir (Estoy aprendiendo Visual Basic)
En Visual Basic:
txtMensaje.Text=Estoy aprendiendo Visual Basic
Recuerde que txtMensaje es el nombre de la caja de texto y se maneja
como una variable ms.

4.2.2. MsgBox (Caja de mensaje)


Esta caja abre una ventana para enviar mensajes al usuario.

11
Ing. Hugo Marcelo Muriel Arriaran

La diferencia de esta caja con la anterior forma de imprimir datos en pantalla


es que sta muestra una ventana con un botn que dice aceptar.
Esta forma de mostrar mensajes se usa ms cuando el usuario se equivoc.
Por ejemplo cuando se le pidi un nmero entero positivo e ingres un nmero
negativo. La manera de uso es la siguiente:

MsgBox (Ingreso un nmero no vlido)

Ejemplo 4.1:
Se pide hacer un programa en Visual Basic que permita leer un nmero desde el
teclado mostrando Ingrese un nmero y lo imprima en pantalla (use una caja de
texto).
Solucin:
Abra un formulario en blanco en Visual Basic, coloque una caja de texto y coloque
Name=txtSalida y text=resultado. El diseo se vera ms o menos como la figura
4.1.
Falta colocar los algoritmos para ello haga
doble clic sobre el formulario y coloque lo
siguiente:

Para ver como funciona el ejemplo


haga clic sobre ( ).

Figura 4.1. Vista diseo del ejemplo 4.1

Ejemplo 4.2:
Haga un programa en Visual Basic que lea la edad del usuario, imprima la edad y
muestre el siguiente error: Error: Usted es casi un nio
Solucin:
Coloque una caja de texto en un formulario con su Name=txtEdad y text=Edad.
Doble clic sobre el formulario y coloque lo
siguiente luego ejectelo:

Figura 4.2. Vista diseo del ejemplo 4.2

12
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 4.3:
Realice un programa que pida ingresar solamente la hora sin minutos ni segundos,
y que muestre el siguiente error: Error: Fjese su reloj, ya es hora de irse
Solucin:
No necesita colocar nada sobre el formulario, directamente doble clic en l y
coloque lo siguiente:

13
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 5

Programacin en
Visual Basic
5. Programacin en Visual Basic
Este manual supone ciertos conocimientos bsicos del lector y se irn explicando los
aspectos ms importantes al igual que su uso.

5.1. Comentarios
Qu es un comentario?
Es un texto explicativo que se coloca en Visual Basic despus del smbolo (). En
otras palabras todo lo que va a la derecha de dicho smbolo Visual Basic no lo
toma en cuenta.
En el ejemplo 5.1 se ve claramente el uso de comentarios.

5.2. Variables
Como es conocido una variable no es ms que un nombre que contiene un valor.
Para declarar una variable en Visual Basic se coloca lo siguiente:
Dim <nombre> As <tipo de dato>

5.2.1. Nombre
El nombre que se le de siempre debe comenzar por una letra, sin colocar ni
espacios ni puntos, ni caracteres extraos.
5.2.2. Variables y constantes
Hay dos tipos de variables claramente reconocidas:
- Variables: Son variables cuyo valor puede cambiar durante el programa,
como ser el salario, dimensiones de una figura, otros.
- Constantes: En este caso se les da un valor y no cambia ms durante todo
el programa.
5.2.3. Tipos de datos
Los tipos de datos que se usarn se encuentran en la tabla 5.1.

Tipo Descripcin Rango de valor

Boolean Binario True o False


Integer Entero -32768 a 32767
Long Entero largo -2147483648 a 2147483647
Double Real -1.79D+308 a 1.79D+308
String Cadenas (texto)

Tabla 5.1. tipos de datos ms comunes

14
Ing. Hugo Marcelo Muriel Arriaran

A continuacin se muestran varios ejemplos de declaracin y uso de variables, se


asume que ya se ley la parte de entrada y salida de datos.

Ejemplo 5.1:
El siguiente programa en Visual Basic muestra un conjunto de declaraciones de
variables. Para que funcione debe colocar en un formulario un campo de texto que
tenga su Name: txtResultado y text: Salidas. Y colocando en el formulario el
siguiente cdigo:

5.3. Operadores

Los operadores ms comunes que se usarn se resumen en la tabla 5.2.

15
Ing. Hugo Marcelo Muriel Arriaran

Tipo de operador Descripcin Smbolo


Aritmtico Exponenciacin ^
Multiplicacin, divisin *, /
Divisin entera \
Resto de una divisin entera
Mod
(mdulo)
Suma y resta +, -
Concatenacin Concatenar o agregar &
Relacional Igual a =
Diferente <>
Menor que - menor o igual que <, <=
Mayor que - mayor o igual que >, >=
Lgico Negacin (no) Not
And (y) And
Or (o) Or
Tabla 5.2. Operadores comunes.
5.4. Estructuras de control
Estas estructuras como en cualquier lenguaje ayudan a controlar el flujo del
programa. Estn clasificados en tres categoras.

En este punto se asumir una convencin que es el uso de un botn salir, en todos
los programas que se hagan siempre tendr que estar presente ste botn. En los
ejemplos que continan se ensear como usar ste botn.

5.4.1. Estructuras de control secuenciales


sta estructura es la ms simple conocida y slo es una secuencia de
sentencias o pasos.
Los ejemplos siguientes dejan ms clara la idea.

Ejemplo 5.2:
Haga un programa que permita sumar dos nmeros naturales ledos desde el
teclado cuantas veces se desee y que tenga un botn que permita salir.
Solucin:
Usando un nuevo formulario, coloque una caja de texto no muy grande,
coloque el Name:txtSuma y text:Resultado. Tambin coloque un botn y
ponga Name:cmdSalir y Caption:Salir. Agregar otro botn que permitir
realizar la suma, coloque Name:cmdSumar, Caption:Sumar 2 numeros. Este
ltimo botn ser el que permita realizar la suma cuntas veces se quiera, o
sea cada vez que se haga clic en l.

16
Ing. Hugo Marcelo Muriel Arriaran

. Figura 5.1. Vista diseo del ejemplo 5.2

En la figura 5.1 se muestra como queda el diseo y a continuacin se


muestra el cdigo del programa

Ejemplo 5.3:
realizar un algoritmo que imprima cuantos Bs son un valor x de dlares
ingresados por el usuario. La tasa de cambio es 8.10 Bs por cada dlar.

Algoritmo Cambio
Var dolares, bolivianos:real
INICIO
imprimir Ingrese los dlares
leer dolares
bolivianos dolares*8.10
imprimir bolivianos
FIN
Pasar la solucin a Visual Basic, coloca la opcin de salir.

17
Ing. Hugo Marcelo Muriel Arriaran

Solucin:

Figura 5.2. Vista diseo del ejemplo 5.3


La figura 5.2 muestra el diseo del programa. El botn superior tiene su
Name:cmdCambio, Caption:Cambio Moneda. El campo de texto tiene
Name:txtResultado, Text est vaco. El botn inferior tiene su Name:cmdSalir,
Caption:Salir.
El cdigo es el siguiente:

5.4.2. Estructuras de control selectivas


Estas estructuras se usan siempre que se necesite hacer preguntas en el
programa.

1 Simple
La estructura es:

18
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 5.4:
Imprimir Nmero natural si el nmero ledo es mayor que 0.
Solucin:

Figura 5.3. Vista diseo del ejemplo 5.4

Ya no es necesario explicar las propiedades de los controles porque


quedan claros con slo ver ste ejemplo.

2 Doble
La estructura es:

Ejemplo 5.5:
Pedir la nota de un estudiante y mostrar aprobado o reprobado,
segn la nota sea mayor o igual a 51 que es de aprobacin.

19
Ing. Hugo Marcelo Muriel Arriaran

Algoritmo Nota
Var nota:entero
INICIO
leer nota
si (nota >= 51) entonces
imprimir aprobado
sino
imprimir reprobado
fin_si
FIN

Pase el algoritmo a Visual Basic


Solucin:

Figura 5.4. Vista diseo del ejemplo 5.5

Ejemplo 5.6:
Realizar lo mismo que en el ejemplo 5.5 slo que sta vez se debe verificar
que la nota este entre 0 y 100, en caso de no ser as sacar un mensaje de
error usando MsgBox.
Solucin:

20
Ing. Hugo Marcelo Muriel Arriaran

3 Anidada
La estructura es:

Ejemplo 5.7:
Escribir un programa que pida la nota de un examen (un n real entre 0
y 10) e imprima por pantalla la calificacin en formato Reprueba, si la
nota es menor que 5, Aprobado si est entre 5 y 7 sin incluirlo,
Notable si est entre 7 y 9 sin incluirlo, Sobresaliente si est entre 9
y 10 sin incluirlo y Excelente si la nota es igual a 10.

Solucin:

21
Ing. Hugo Marcelo Muriel Arriaran

Figura 5.5. Vista diseo del ejemplo 5.7

5.4.3. Estructuras de control repetitivas o iterativas

22
Ing. Hugo Marcelo Muriel Arriaran

1 Para
Permite ejecutar un conjunto de sentencias un nmero conocido de veces.
La estructura general es:

Ejemplo 5.8:
Escribir un programa para sumar los nmeros enteros de 1 a 50.
Solucin:

Figura 5.6. Vista diseo del ejemplo 5.8

Ejemplo 5.9:
Que hace el siguiente programa? (Qu problema resuelve?):

23
Ing. Hugo Marcelo Muriel Arriaran

Figura 5.7. Vista diseo del ejemplo 5.9

2 Mientras
Ejecuta sus sentencias mientras se cumpla la condicin.

La estructura general es:

Ejemplo 5.10:
Dado un capital C, que se coloca a un inters I averiguar al cabo de
cuantos aos se duplicar.

Pseudocdigo:
Algoritmo Capital
Var cap, int:real , anios:entero
INICIO
imprimir Ingrese el capital
leer cap
imprimir Ingrese el interes

24
Ing. Hugo Marcelo Muriel Arriaran

leer int
anios0
capOriginalcap
mientras(cap<(capOriginal*2))
capcap+cap*int
anioanio+1
fin_mientras
imprimir Cantidad aos:+anio
FIN

Pasar el algoritmo a Visual Basic. No olvide colocar el botn para salir.


Solucin:

Figura 5.8. Vista diseo del ejemplo 5.10

Ejemplo 5.11:

25
Ing. Hugo Marcelo Muriel Arriaran

Dado un nmero determinar la suma de sus dgitos.

Solucin:

Figura 5.9. Vista diseo del ejemplo 5.11

26
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 6

Funciones y
Procedimientos
6. Funciones y Procedimientos
Qu son los subprogramas?
Los subprogramas son una solucin a una parte de un problema. Bajo la idea de
divide y vencers es una poderosa manera de solucionar problemas. La pregunta est
en como dividir para vencer?

Problema Solucin
Subproblema 1 Solucin 1
Subproblema 2 Solucin 2 Solucin
.. ..
Subproblema n Solucin n

Criterios

Para responder a la pregunta pendiente se deben usar criterios. El criterio a usarse


ser el enfoque de arriba abajo que consiste en hacer la solucin principal e ir
viendo que subprogramas haran falta y, hacer slo los subprogramas que sean
necesarios.

Parmetros

Los parmetros no son nada ms que variables que se le pasan a un subprograma.


Un subprograma puede recibir varios parmetros.

Clasificacin subprogramas

De acuerdo a la manera de devolver resultados se clasifican en dos tipos:

Procedimientos

Son subprogramas que no devuelven ningn valor, slo muestran resultados.


Para usar un procedimiento se debe colocar:

Como un subprograma no devuelve ningn valor se lo debe llamar con la palabra Call
de la siguiente manera:

27
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 6.1:
Hacer un procedimiento que muestre la suma de dos nmeros.

Solucin:

Figura 6.1. Vista diseo del ejemplo 6.1


La llamada al procedimiento en este ejemplo se lo hizo en el formulario,
tambin se puede hacer desde un botn.

Funciones

Son subprogramas que siempre devuelven resultados y adems pueden mostrar


resultados.
Para usar una funcin se debe colocar:

Lo nuevo a explicar es que en lugar de tipoDatoDevolver se coloca el tipo de dato que


devuelve la funcin, como ser Integer, Double, otros.
La lnea nombreFuncion=valor, se coloca para devolver el valor. En otras palabras se
coloca el mismo nombre que el de la funcin y se le da un valor.

Para llamar una funcin slo hay que guardar su valor devuelto en una variable. Por
ejemplo:

Aqu la funcin se llama funcionA que recibe un entero y que devuelve un entero, por
eso se guarda su valor devuelto en un entero.

Ejemplo 6.2:
Hacer una funcin que devuelva el rea de un rectngulo. Debe recibir como datos la
base y la altura que son enteros.

28
Ing. Hugo Marcelo Muriel Arriaran

Solucin:

Figura 6.2. Vista diseo del ejemplo 6.2

Ejemplo 6.3:

En matemticas se conoce el famoso binomio de Newton, que consiste en elevar a


cualquier potencia de exponente natural n un binomio. La frmula para esto es: (a+b)n.

La frmula general para desarrollar el binomio de Newton es:

n n n n n 1 n n
(a + b )n = a n + a n 1b + a n 2 b 2 + ... + ab + b

0
1
2 n 1 n

29
Ing. Hugo Marcelo Muriel Arriaran

En la que se observa que los coeficientes son nmeros combinatorios. Para la


combinatoria de un nmero m tomados en grupos de n en n se usa la siguiente
frmula:

Se pide realizar un programa que permita calcular el valor del binomio de Newton
para dos nmeros a y b, con exponente n.

Figura 6.3. Vista diseo del ejemplo 6.3

30
Ing. Hugo Marcelo Muriel Arriaran

31
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 7

Arreglos

7. Arreglos
Qu es un arreglo?
Un arreglo es una estructura de datos, lo quiere decir que en l se pueden
guardar datos. Es una agrupacin de datos del mismo tipo, por decir enteros,
reales, y otros ms. Se le da un nombre, el tipo de datos que contiene y adems la
cantidad de datos que puede contener.

7.1. Vectores
Un vector es un arreglo unidimensional, es decir slo tiene una dimensin.

Cmo se declara un arreglo?

Cmo se asignan valores a un arreglo?


Se puede asignar de dos formas:
La primera es asignar valores uno a uno, es decir se escoge la posicin a la
cual se quiere dar valor. Ej:

La segunda forma es asignar valores a todo el arreglo recorrindolo. Para


recorrerlo lo ms comn es usar un ciclo For. Por ejemplo:

En el ejemplo se muestra como se dan valores a todas las posiciones del


arreglo.

Cmo se recorre un arreglo?


Lo ms comn es recorrerlo con un ciclo para. Por ejemplo:
Se tiene un arreglo llamado numero de tamao 10 y, contiene los 10 primeros
nmeros pares.

32
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 7.1: Escriba un programa que declare un vector de 10 elementos de


tipo entero y los rellene con los cuadrados de los 10 primeros nmeros
naturales y muestre el contenido del vector en una lista.
Solucin:

Figura 7.1. Vista diseo del ejemplo 7.1

33
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 7.2: Escriba una funcin tabla_multiplos que reciba como entrada un
nmero entero y devuelva una tabla con los 10 primeros mltiplos de dicho
nmero.
Solucin:

Figura 7.2. Vista diseo del ejemplo 7.2

34
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 7.3: Una funcin tiene como parmetro un conjunto de 10 enteros.


Dicha funcin devuelve un valor lgico, asignndole true si el conjunto est
ordenado ascendentemente y falso en caso contrario.

Solucin:

Figura 7.3. Vista diseo del ejemplo 7.3

35
Ing. Hugo Marcelo Muriel Arriaran

7.2. Matrices
Las matrices son un tipo de arreglo bidimensional es decir tiene tanto filas como
columnas.
Ejemplos naturales de ste tipo de arreglos son las tablas en las cuales se
manejan tanto filas como columnas.

Ejemplo 7.4:
Las notas de un curso de 6 alumnos de un colegio, correspondientes a 5
asignaturas diferentes se ingresan alumno por alumno. Considerando que los
nombres de los alumnos y de las materias pueden ser representados por
nmeros, disear y programar una aplicacin que permita calcular la media de
las notas de cada alumno y la media de cada asignatura.

Solucin:

Figura 7.4. Vista diseo del ejemplo 7.4

36
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 7.5:
Una empresa que tiene diez almacenes, necesita crear un programa que lea las
ventas mensuales de los diez almacenes (se registran las ventas de cuatro
semanas), calcule la media de ventas y obtenga un listado de los almacenes
cuyas ventas mensuales son superiores a la media, adems el programa debe
listar el nmero de almacn ms y menos importante para la empresa.

Solucin:

37
Ing. Hugo Marcelo Muriel Arriaran

Figura 7.4. Vista diseo del ejemplo 7.4

38
Ing. Hugo Marcelo Muriel Arriaran

39
Ing. Hugo Marcelo Muriel Arriaran

40
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 8

Cadenas de
caracteres y Archivos
8. Cadenas de caracteres y Archivos
8.1. Cadenas
Las cadenas son una secuencia de caracteres, ya se les dio uso bajo el tipo de
dato String.
Existen una serie de funciones bastante tiles para el manejo de las cadenas,
estas funciones permiten manipular las mismas, las ms importantes se resumen
en la tabla 8.1

Propsito Nombre de la funcin Observaciones

Cantidad de caracteres de una cadena Len(cadena)

Conversin a minsculas LCase(cadena)

Conversin a maysculas UCase(cadena)


Conversin de cadenas a nmeros Val(cadena)
Conversin de nmeros a cadenas CStr(num)
Mid(cadena, ini, [n]),
Extrae un nmero de caracteres de un Right(cadena, tam), n indica la cantidad de caracteres
rango especificado Left(cadena, tam) a extraer a partir de ini.
Obtener sub-cadenas Split(cad, [delim], [n]) Devuelve un arreglo con las n (-1
por defecto) sub cadenas que
estn separadas por delim.
Une un arreglo de cadenas con el
Unin de sub-cadenas Join(cad(), [delim]) separador delim
Devuelve -1 cad1 menor que
Comparacin de cadenas de
strComp(cad1, cad2) cad2; 0 son iguales y 1 cad1 es
caracteres
mayor que cad2.
Devuelve la posicin donde
Verificar si una cadena es sub-cadena InStr([n], cad1, cad2) comienza cad2 en cad1 partiendo
de otra del caracter n.

Buscar una sub-cadena para Replace(cad, subcad,


reemplazarla por otra en la cadena reemp) Reemplaza subcad con reemp.

Tabla 8.1. Resumen de funciones para manejo de cadenas

41
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 8.1:

Figura 8.1. Vista diseo del ejemplo 8.1

42
Ing. Hugo Marcelo Muriel Arriaran

8.2. Archivos
8.2.1. Lectura y escritura de archivos secuenciales
1 Apertura y cierre
Dos comandos son los que permiten abrir y cerrar archivos:
OPEN
CLOSE
OPEN:
Open nombreArchivo For modo As # numeroArchivo
donde:

nombreArchivo: Es el nombre del archivo que es una cadena como


recibida nombre de variable o simplemente
encerrado entre comillas.
modo: Es el modo de apertura del archivo. Existen tres
modos:
Input: Para leer simplemente
Output: Para escribir al principio del archivo.
Append: Para escribir al final del archivo y
conservar lo que ya hubiese habido antes.
numeroArchivo: Es un nmero que puede ser pasado directamente o
con una variable, es el identificador nico para un
archivo y por lo tanto no se puede colocar el mismo
nmero ms de una vez.

CLOSE:
close # numeroArchivo

Es importante cerrar todo archivo que se abra.

Ejemplos:
Open c:\tmp.txt as Output As #1
2 Lectura
Ejemplo 1 Line Input

43
Ing. Hugo Marcelo Muriel Arriaran

sta function se utiliza para leer toda una lnea del archivo en cuestin y lo
devuelve como un valor de retorno.
La forma general es:

cadena= Line Input # numeroArchivo

Para poder leer todas las lneas del archivo se debe utilizar un ciclo for o
while. Adems es bien til la funcin EOF (fin de archivo) que devuelve
verdad cuando se ha llegado al final del archivo. Una manera de utilizar un
ciclo sera la siguiente:

3 Escritura
Ejemplo 1 Print
Esta funcin se utiliza para poder escribir en un archivo ya abierto en modo
Output o Append. Su uso es bastante sencillo y prcticamente se pueden
escribir variables de todo tipo de dato, as como tambin cadenas
directamente encerradas entre comillas dobles.
Su forma general es:

Donde numeroArchivo es el nmero otorgado al momento de abrir el


archivo. El siguiente ejemplo muestra claramente el uso de Print.

Ejemplo 8.2:

Figura 8.2. Vista diseo del ejemplo 8.2

44
Ing. Hugo Marcelo Muriel Arriaran

45
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 9

Controles segunda
parte
9. Controles segunda parte
9.1. Botones de opcin (Option Button)
La diferencia con los botones normales es en que stos forman un grupo y slo se
puede seleccionar uno de ellos. Tienen una propiedad Value de tipo Boolean que
slo puede tener valor true para un botn del grupo.
Para agrupar los botones primero se debe colocar un frame (marco) e ir colocando
los botones de opcin dentro el frame. Con esto se garantiza que slo un botn a
la vez sea seleccionado.
Un ejemplo de uso de estos botones es por ejemplo seleccionar el mes de
nacimiento, como es de saberse slo se puede seleccionar un mes y por lo tanto
esto implica a botones de opcin.

9.2. Botones de seleccin (Check Box)


Hay ciertos casos en los cuales se puede seleccionar ms de una opcin, como
cuando se pregunta sobre los intereses de una persona. En stos casos se utilizan
los botones de seleccin.
La caracterstica principal de estos botones es que ms de uno puede tener su
propiedad Value en true, y a diferencia de los anteriores no necesitan estar
agrupados en un frame u otra estructura.

La siguiente figura muestra un uso sencillo de los botones de seleccin:

46
Ing. Hugo Marcelo Muriel Arriaran

9.3. Barras de desplazamiento (ScrollBar)


Las barras de desplazamiento como su nombre indica se utilizan para desplazar
contenido en caso de que no se pueda mostrar todo el contenido en pantalla o
tambin para efectuar alguna accin cada vez que dicha barra se desplaza de
posicin. Existen barras horizontales y verticales.
Las propiedades ms importantes son Max y Min que indican el rango de
desplazamiento de la barra. Otras dos propiedades llamadas LargeChange y
SmallChange, la primera indica la cantidad en la que cambia su valor cuando se
presiona en la barra y la segunda la cantidad en la que cambia su valor cuando se
presiona sobre el botn con la flecha. Una propiedad ms es Value que indica el
valor actual de la barra y est comprendido en el rango de Max y Min. Se ver que
la barra no cuenta con la propiedad Caption.

La siguiente figura muestra una barra vertical.

Ejemplo 9.1:
Se quiere desarrollar un programa para poder convertir temperaturas de grados
centigrados a grados Fahrenheit. El rango vlido para la temperatura en grados
centgrados es desde -100 a 100 C. Sera ideal incrementar la temperatura de
grado en grado y tambin en saltos de 10 C.

Solucin:

47
Ing. Hugo Marcelo Muriel Arriaran

Control Propiedad Valor


cmdButton Name cmdSalir
Caption Salir
Label Name lblCentig
Caption Grados centgrados
Label Name lblFaren
Caption Grados Fahrenheit
TextBox Name txtCentig
Text Vaco
TextBox Name txtFaren
Text Vaco
VScrollBar Name vsbBarra
Max -100
Min 100
LargeChange 10
SmallChange 1
Value 0
Form Name frmPrincipal

Cdigo:

48
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 9.2:
El peridico americano New York Times permite el registro de sus lectores va web
para brindarles mejores servicios. Bsicamente lo que se requiere es un formulario
donde se solicite la informacin de inters a cerca del usuario. Para el registro se
agrupan las opciones en tres categoras: crear cuenta, informacin personal y
suscripcin a boletines.

Solucin:
El formulario propuesto es:

Los controles utilizados y sus propiedades modificadas son:

Control Propiedad Valor


TextBox Name txtCuenta
Text Vaco
TextBox Name txtContra
Text Vaco
TextBox Name txtConfirm
Text Vaco
TextBox Name txtPregunta
Text Vaco
TextBox Name txtRespuesta
Text Vaco
OptionButton Name optHombre
Caption Hombre
OptionButton Name OptMujer
Caption Mujer
OptionButton Name optSoltero

49
Ing. Hugo Marcelo Muriel Arriaran

Caption Soltero
OptionButton Name optCasado
Caption Casado
CheckBox Name chkOpcion1
Caption Today's Headlines
CheckBox Name chkOpcion2
Caption Ticket Watch
CheckBox Name chkOpcion3
Caption Movies update
CommandButton Name cmdRegistrar
Caption Registrarse
En la tabla no se incluye el detalle de las etiquetas (Label), es algo que
usted puede hacerlo sin dificultad.
Cdigo:

50
Ing. Hugo Marcelo Muriel Arriaran

9.4. Cajas combinadas (ComboBox)

Casi siempre se hace necesario contar con un men de opciones, o


agrupar varios elementos sin ocupar mucho espacio, para ello lo ideal es un men
o una lista desplegable. En visual Basic la lista recibe el nombre de caja
combinada, que no es ms que un conjunto de opciones agrupado en una misma
caja.
Entre las propiedades ms resaltantes estn AddItem, RemoveItem,Clear que son
comunes a las de una lista. List es la propiedad donde se colocan todos los
elementos que mostrar la caja combinada.
La propiedad que define el comportamiento es Style que tiene tres valores
posibles que son: 0, 1, 2.
Valor 0: Solo se muestra el elemento seleccionado que es editable, el resto de los
elementos permanece oculto hasta que el usuario presione el botn con la flecha.
Valor 1: Se muestra el elemento seleccionado que es editable, pero en este caso
no existe la lista desplegable, se la muestra entera si es necesario se utiliza un
ScrollBar.
Valor 2: El elemento seleccionado no es editable y se utiliza una lista desplegable
como en el caso del valor 0.

Ejemplo 9.3:
CumpleAlerta.com es un sitio gratuito de Internet que registra la informacin de las
personas para enviarles un correo de felicitacin el da de su cumpleaos.
Se pide disear y programar una versin simplificada del proceso de registro para
poder enviar las felicitaciones.

Solucin:
Para este caso se utilizar dos formularios y no como en anteriores ejemplos que
se usaba un solo formulario.

51
Ing. Hugo Marcelo Muriel Arriaran

La imagen anterior es el diseo del formulario principal. Los controles y los valores
de sus propiedades se detallan a continuacin.

Control Propiedad Valor


Label Name lblTitulo
Caption CumpleAlerta.Com
Font MS San Serif tam 14
negrita
Label Name lblNombre
Caption Nombre
Label Name lblApellido
Caption Apellido
TextBox Name txtNombre
Text Vacio
TextBox Name txtApellido
Text Vacio
Label Name lblCumple
Caption Cumpleaos
ComboBox Name cmbDia
Style 2 - DropDown
ComboBox Name cmbMes
Style 2 - DropDown
ComboBox Name cmbAnio
Style 2 - DropDown
CommandButton Name cmdRegistrar
Caption Registrar
Form Name frmPrincipal
Cdigo:

52
Ing. Hugo Marcelo Muriel Arriaran

Diseo Formulario 2:

53
Ing. Hugo Marcelo Muriel Arriaran

Controles y propiedades:

Control Propiedad Valor


Label Name lblTitulo
Caption Gracias por
registrarse
List Name lstSalida
CommandButton Name cmdSalir
Caption Salir

Cdigo:

9.5. Controles para archivos


Trabajando en un entorno Windows es normal trabajar con archivos o ficheros
para leer de ellos o guardar en ellos.
Visual Basic provee de tres controles bsicos que permiten realizar sta tarea:
DriveListBox: se utiliza para listar las unidades de disco duro de la computadora.
Es una lista cuyas propiedades ms importantes son:
Drive: Recoge la informacin de la unidad de disco duro.

DirListBox: lista directorios. Es bsicamente una lista.


Las propiedades ms importantes son:
Path: Determina que unidad de disco duro ha sido seleccionada y por lo tanto lista
los directorios de la misma.

FileListBox: lista de archivos o ficheros. ste control es una variacin de la caja


combinada (ComboBox) vista en el anterior apartado.
Propiedades sobresalientes:
Path: Determina el directorio que contiene los archivos a mostrar.
FileName: Contiene el nombre del archivo seleccionado por el usuario. Para
obtener la ruta completa de un archivo se debe colocar la propiedad Path de
DirListBox seguida de una barra invertida (\) y finalmente el FileName.
Pattern: Indica que tipos de archivo se mostrarn. Por defecto se encuentra en *.*
que significa cualquier archivo. Se pueden colocar varios filtros por ejemplo:
*.doc;*.exe separados por ;.

El aspecto ms importante es que stos tres controles deben estar enlazados para
mostrar la informacin cuando se haga algn cambio en alguno de ellos. Es decir
se debe mostrar la unidad, directorios y archivos.

Ejemplo 9.4:
Listar los archivos con extensin .doc, .xls correspondientes a archivos Word y
Excel de un directorio seleccionado cualquiera de una unidad de disco.

Solucin:

54
Ing. Hugo Marcelo Muriel Arriaran

Diseo:

Controles y Propiedades:

Control Propiedad Valor


Label Name lblTitulo
Caption Lista de Archivos
Font MS San Serif tam 14
negrita
DriveListBox Name Drive
DirListBox Name Dir
FileListBox Name File
Pattern *.doc;*.xls
CommandButton Name cmdAbrir
Caption Abrir

Cdigo:

55
Ing. Hugo Marcelo Muriel Arriaran

9.6. Control timer


Este control es bastante importante cuando se desea que alguna accin suceda en
un cierto intervalo de tiempo en este caso particular en milisegundos.
Es til cuando para animaciones y fundamentalmente para dar movimiento en las
aplicaciones construidas.
La propiedad Interval determina el intervalo en milisegundos entre cada accin
que ocurre.
La accin o acciones que se desea que se ejecuten se debe colocar en el
subprograma correspondiente del Timer.
La propiedad Enabled permite detener y continuar la accin del Timer con sus
valores True y False.

Ejemplo 9.5:

Diseo:

Controles y Propiedades:

Control Propiedad Valor


Label Name lblColor1
Caption Color 1
Label Name lblColor2
Caption Color 2
Label Name lblColor3
Caption Color 3
Label Name lblContador
Caption Contador
TextBox Name txtContador
Text 1
Timer Name Timer1
Interval 500
Timer Name Timer2
Interval 1000

56
Ing. Hugo Marcelo Muriel Arriaran

Cdigo:

57
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 10

Manejo de Eventos

10. Manejo de eventos


Un evento es un suceso que se produce sobre un control, el cual requiere una accin.
Existen un conjunto de eventos para los diferentes controles.
Este apartado tiene por objetivo explicar los eventos ms importantes agrupados en
generales y aquellos que son producidos por el ratn.

10.1. Eventos generales


10.1.1. Formularios
En un formulario se producen una serie de eventos en secuencia.

En principio los eventos que suceden al iniciar la aplicacin son:


Initialize: Este evento tiene lugar antes que el Load y suele utilizarse para
inicializar variables.
Load: Significa la carga del formulario, se utiliza generalmente para dar
valores a las propiedades del formulario y a las propiedades de los
controles que dependen del mismo.
Activate: Indica que el formulario pasa a ser la ventana activa.
Dos propiedades importantes de los formularios son Show y Hide que
permiten hacer visible u ocultar el formulario.
Paint: Dibuja el formulario.

Al cerrar, ocultar o eliminar un formulario suceden los siguientes eventos:


Deactivate: Indica que el formulario deja de ser la ventana activa.
QueryUnload: Se produce antes que el evento Unload y se utiliza para
mandar mensajes de confirmacin.
Unload: Significa la descarga del formulario, sucede cuando se presione
sobre el botn de cerrar del formulario o se coloca End.
Terminate: Termina la ejecucin del formulario.

10.1.2. Paint
Este evento pinta o repinta el formulario cada vez que ste se muestra,
cambia de tamao o de posicin.

Ejemplo 10.1:
Una sencilla aplicacin que muestre la secuencia en la que se van dando
los eventos se desarrollar en este ejemplo.

58
Ing. Hugo Marcelo Muriel Arriaran

El objetivo de este ejercicio es que perciba las secuencias en las que se


van produciendo los eventos.
Solucin:

Diseo:
Se realiza el diseo de dos formularios. El primero de los cuales es:

El diseo para el segundo formulario es:

Controles y Propiedades:

Primer formulario:

Control Propiedad Valor


Form Name frmPrincipal
(Nombre)
CommandButton Name cmdMostrar
Caption Mostrar Formulario
secundario
CommandButton Name cmdSalir
Caption Salir

Segundo formulario:

59
Ing. Hugo Marcelo Muriel Arriaran

Control Propiedad Valor


Form Name frmSecundario
(Nombre)
CommandButton Name cmdHide
Caption Hide
CommandButton Name cmdUnload
Caption Unload

Cdigo:
El cdigo para el primer formulario es:

El cdigo para el segundo formulario es:

60
Ing. Hugo Marcelo Muriel Arriaran

10.1.3. Focus
En el entorno de trabajo Windows es comn que un solo elemento como
ser un formulario, caja de texto, botn, otros reciba el Foco, es decir que
solamente se puede ingresar datos con el teclado con el elemento
seleccionado. En otras palabras el elemento que tiene el foco es resaltado,
dndoles colore ms vistoso, rodendole de un marco, otros.
Dicha seleccin se puede hacer programando o con la interaccin del
usuario, a travs de ratn o el teclado. En el caso del teclado se utiliza la
tecla Tab.
Dos eventos importantes suceden:
LostFocus: Prdida del foco del elemento.
GotFocus: El elemento recibe el foco.

El mtodo SetFocus permite darle el foco a un elemento.

Propiedades de controles relacionadas:


TabStop: Indica si el foco se puede pasar presionando la tecla Tab, en la
secuencia que indica TabIndex.
TabIndex: Indica la secuencia en la que se pasa el foco, siendo 0 el primer
nmero de la secuencia.

Ejemplo 10.2: (Continuacin del ejemplo 10.1)


Al formulario llamado frmPrincipal hay que agregarle tres controles.

Diseo:

Controles y Propiedades:

61
Ing. Hugo Marcelo Muriel Arriaran

Control Propiedad Valor


CommandButton Name cmdUno
Caption Uno
TabIndex 2
TabStop True
TextBox Name txtDos
Text Dos
TabIndex 3
TabStop True
CommandButton Name cmdTres
Caption Tres
TabIndex 4
TabStop True

Cdigo:

10.1.4. Keys Events (Evento de las teclas)


Los eventos de teclado a estudiarse son:
KeyPress: Sucede cuando el usuario presiona y suelta una tecla, para
saber que tecla fue presionada se utiliza el cdigo ASCII.
KeyDown: Sucede cuando el usuario presiona una tecla.
KeyUp: Sucede cuando deja de presionar una tecla.
Los tres eventos tienen un arguento (parmetro) llamado KeyAscii que es
el cdigo ASCII de la tecla presionada.

Ejemplo 10.3 (Cont. Ejemplo 10.1 y 10.2)


Se agregar el manejo de eventos de teclado a los ejemplos anteriormente
realizados.

Diseo:
En el formulario principal se agregan los controles nuevos.

62
Ing. Hugo Marcelo Muriel Arriaran

Controles y Propiedades:

Control Propiedad Valor


CommandButton Name cmdTecla
Caption Presione teclas
TextBox Name txtSalida
Text (Vacio)

Cdigo:

63
Ing. Hugo Marcelo Muriel Arriaran

10.2. Eventos del ratn


10.2.1. Click y DblClick
Es un evento que sucede cuando se presiona y suelta uno de los botones
del ratn (izquierdo, derecho); pero no solamente con el ratn se produce
un click sino que tambin se puede hacerlo mediante cdigo. Se producen:

Sobre el formulario:
o Sucede cuando se hace click en cualquier parte del formulario
donde no haya un control activo (propiedad Enabled=False).
Sobre controles:
Los siguientes casos representan interaccin del usuario.
o Cuando se presiona sobre algn control con cualquier botn. En
caso del botn (CommandButton), botn de seleccin y botn de
opcin slo funciona con el botn izquierdo.
o Cuando se selecciona un elemento de una caja combinada.
o Cuando el sistema le da el foco a un control tal como boton, botn
de seleccin, botn de opcin y se presiona la tecla espaciadora.
o En un formulario se puede tener un botn que tenga su propiedad
Default=True que significa que es el botn por defecto, o sea que
si el foco est en el formulario y se presiona la tecla Return (Enter)
equivale a hacer click con el ratn.
o Asimismo tambin puede haber un botn en el formulario que
tenga su propiedad Cancel=True, es decir cuando se presiona la
tecla Esc equivale a hacer click sobre el mismo.
o Las combinaciones Alt+tecla, activan ciertos controles o mens
como en la mayora de los programas Windows. En ste contexto
esa combinacin equivale a hacer click con el ratn.

Con cdigo:
o En alguna parte del programa sera interesante que se active algn
botn despus de una determinada accin por ejemplo.
Botn (CommandButton), se puede cambiar la propiedad
Value=True, que equivale a haber presionado con el ratn
sobre el.
Botn de seleccin (CheckBox), tambin se puede cambiar
el valor de su propiedad Value=True.
Botn de opcin (OptionButton), de igual manera se cambia
el valor de su propiedad Value=True.

El dblClick es un evento que sucede cuando se presiona dos veces el botn


izquierdo del ratn.

10.2.2. MouseDown, MouseUp, MouseMove


MouseDown: Sucede cuando se presiona cualquiera de los botones del
ratn (Izquierdo, derecho, medio).
MouseUp: Sucede al dejar de presionar un botn del ratn.

64
Ing. Hugo Marcelo Muriel Arriaran

MouseMove: Sucede al mover el ratn sobre un control o tambin


formulario.

Cmo saber que botn del ratn ha sido presionado?


Para esto los eventos MouseDown y MouseUp se tiene un argumento que
se llama Button que indica que botn ha sido presionado.
La forma general del evento es:

Donde Button puede tomar los siguientes valores:

Valor Constante Correspondencia


1 vbLeftButton Botn izquierdo pulsado o liberado.
2 vbRightButton Botn derecho pulsado o liberado
4 vbMiddleButton Botn central pulsado o liberado

El segundo argumento es Shift, que indica si alguna tecla especial estaba


presionada. Sus posibles valores son:

Valor Constante Correspondencia


1 vbShiftMask Tecla Shift
2 vbCtrlMask Tecla Ctrl
4 vbAltMask Tecla Alt

X y Y indican la posicin del puntero del ratn dentro el control o formulario


sobre el que se activa el evento.

Ejemplo 10.4:
El objetivo de ste ejemplo es utilizar los eventos del ratn, para
familiarizarse con su uso.

Diseo:

65
Ing. Hugo Marcelo Muriel Arriaran

Controles y Propiedades:

Control Propiedad Valor


CommandButton Name cmdUno
Caption MouseMove Izq
ComandButton Name cmdDos
Caption MouseMove Der
CommandButton Name cmdTres
Caption MouseDown
CommandButton Name cmdCuatro
Caption MouseUp
TextBox Name txtSalida
Text (Vacio)
TextBox Name txtTecla
Text Tecla presionada

Cdigo:

66
Ing. Hugo Marcelo Muriel Arriaran

67
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 11

Cajas de Dilogo

11. Cajas de dilogo


Las cajas de dilogo permiten realizar operaciones comunes en las aplicaciones, tales
como Abrir/Guardar archivos, seleccionar una fuente, seleccionar un color, mandar a
imprimir un documento.
Cuando se coloca un cuadro de dilogo (Common Dialog) se pueden invocar a sus
diferentes mtodos: ShowColor, ShowFont, ShowHelp, ShowOpen, ShowPrinter y
ShowSave. Lo que hacen es mostrar la ventana correspondiente a la accin deseada.

11.1. Abrir/Guardar (Open/Save Dialog Control)


Las propiedades ms utilizadas son:
DefaultExt: Es la extensin por defecto para abrir/guardar archivos.
DialogTitle: Establece o devuelve el valor del ttulo de la caja de dilogo.
FileName: Nombre completo (ms la ruta) del archivos a abrir/guardar.
FileTitle: Solo el nombre del archivos a abrir/guardar.
Filter: Es el filtro de seleccin de archivos que aparece en la parte inferior,
donde se indican tipos de archivo. Se pueden colocar varios tipos
separados con | (barra vertical). Por ejemplo:
cualquiera (*.exe) | *.exe | texto | *.txt
InitDir: Es el nombre del directorio por defecto, sino se utiliza el directorio
actual.
Flags: Son opciones que agregan detalle al control, como ser preguntar
antes de sobrescribir un archivo, sobrescribir sin preguntar, abrir en modos
especiales de lectura entre otros. Por ejemplo cdlOFNOverwritePrompt
pregunta si se sobrescribir un archivo.

Ejemplo 11.1:
ste es un sencillo ejemplo que permite escribir texto y guardarlo, tambin
permite abrir el archivo guardado. Se usa el manejo de archivos de texto
plano.

Diseo:

68
Ing. Hugo Marcelo Muriel Arriaran

Atencin: Si no aparece el control Common Dialog en la caja de


herramientas es necesario agregarlo, para ello se debe presionar Ctrl+t y
aparecer la lista de todos los controles, buscar y seleccionar el que dice
Microsoft Common Dialog Control 6.0 luego aceptar.

Controles y Propiedades:

Control Propiedad Valor


TextBox Name txtEscribe
Text (vacio)
MultiLine True
CommandButton Name cmdAbrir
Caption Abrir
CommandButton Name cmdGuardar
Caption Guardar
CommonDialog (Nombre) Dialogo
DefaultExt txt
FileName Trabajo

Cdigo:

69
Ing. Hugo Marcelo Muriel Arriaran

11.2. Imprimir (Print Dialog Control)


Las propiedades principales a usar son:

Copies: Fija el nmero de copias que se imprimirn.


FromPage: Establece la primera pgina a imprimir.
ToPage: Establece la ltima pgina a imprimir.
PrinterDefault: Indica la impresora por defecto. Si se pone a True se utiliza
el Visual Basic Printer.
Flags: Son opciones que agregan detalle a ste control.

70
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 12

Mens

12. Mens
Los mens en Windows son bastante comunes y familiares a la mayora de los
usuarios. Su ventaja principal es que ocupan poco espacio a diferencia de otras
alternativas (controles), slo que sus opciones estn ocultas hasta que se invoque al
men.

12.1. Editor de Mens (Menu Editor)


El editor se encuentra disponible en Tools/Menu Editor y tiene el aspecto que se
muestra a continuacin:

sta es una imagen extrada del ejemplo que se muestra ms adelante.

12.1.1. Elementos
Caption: Es el ttulo que se mostrar en el men. Aqu se distinguen los
ttulos de mens y los tems de los mismos.
Si se quiere usar mtodos abreviados (Alt+tecla), se debe colocar el
smbolo & delante del carcter que se usar para el acceso por teclado.

71
Ing. Hugo Marcelo Muriel Arriaran

Name: Es el nombre de variable y debe empezar con las letras minsculas


mnu. Cuando se tiene un men por ejemplo archivo con dos tems que
sean Abrir y Guardar, sus nombres deberan escribirse as: mnuArchivo
para el ttulo del men, mnuArchivoAbrir y mnuArchivoGuardar para sus
tems.
Index: Es el ndice cuando se utilizan arrays de mens.
ShortCut: Es el mtodo abreviado. Por ejemplo cuando se presiona Ctrl+c
equivale por lo general a hacer click en Editar/Copiar.
Las cajas de seleccin (CheckBox) que aparecen (Checked, Enabled,
Visible, WindowsList) especifican propiedades del men.

Las flechas ( ) permiten introducir tems para un men en varios


niveles. Basta con presionar sobre alguna de ellas y le aumentar o
disminuir una sangra para aumentar o disminuir su nivel.
Las lneas de separacin entre los tems de un men se colocan
escribiendo el signo (-) (menos) en el caption.
Con las flechas ( ) se puede cambiar la posicin de un ttulo de
men o de un tem.
Las opciones (Next, Insert, Delete) permiten Colocar un men al final,
Insertar en cualquier posicin y borrar un men respectivamente.

12.2. Programar los mens


Todos los mens se pueden programar y solamente responden a un evento que es
el click. Entonces todos los subprogramas que respondern al evento tendrn la
siguiente forma:

Como ya es habitual se coloca el cdigo dentro de las dos lneas de cdigo que
representan la cabecera y el fin.

Ejemplo 12.1: (Continuacin ejemplo 11.1)


En el ejemplo 9.10 se vio el manejo de las cajas de dilogo para poder abrir y
guardar texto plano que se editaba en la aplicacin.
Ahora se trata de agregar mens desde donde se permita Abrir, Guardar y Salir.
Adems un men donde se puede Editar el texto de la aplicacin, bsicamente
cambiarle el tipo de fuente de letra.

Diseo:

72
Ing. Hugo Marcelo Muriel Arriaran

Como se utilizan mens, stos deben ser editados con el Menu Editor de Visual
Basic. Debera quedar como sigue:

Controles y Propiedades:

En sta seccin no se ha agregado ningn control a parte de los ya explicados en


el ejemplo 9.10. Los nombres de los mens deben ser los siguientes:

Menu Propiedad Valor


Men 1 Caption &Archivo
Name mnuArchivo

73
Ing. Hugo Marcelo Muriel Arriaran

Item 1 Caption &Abrir


Name mnuArchivoAbrir
ShortCut Ctrl+A
Item 2 Caption &Guardar
Name mnuArchivoGuardar
ShortCut Ctrl+G
Item 3 (barra) Caption -
Name Mnu
Men 2 Caption &Editar
Name mnuEditar
Item 1 Caption Fuente
Name mnuEditarFuente
SubItem 1 Caption Arial
Name mnuEditarFuenteA
SubItem 2 Caption Verdana
Name mnuEditarFuenteV

Cdigo:

74
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 13

Utilizacin de
impresoras
13. Utilizacin de impresoras
En Visual Basic existen dos alternativas para poder usar impresoras. Dichas
alternativas son el mtodo (subprograma) PrintForm y el objeto Printer que se
explican a continuacin.

13.1. PrintForm
ste es el mtodo ms sencillo y lo que hace es imprimir el formulario con todo y
controles menos la barra de titulo, es decir imprime tal y como se lo ve en pantalla.
Se debe cambiar el valor de la propiedad AutoRedraw del formulario a True.
La desventaja principal de ste mtodo es que no permite aprovechar al mximo
las caractersticas de las impresoras.
Para usarlo simplemente se debe escribir en el cdigo:

13.2. Printer
ste es el mtodo ms manipulable y a diferencia del primer mtodo no imprime
todo el formulario y los controles. Con ste mtodo se puede imprimir texto y
grficos.

Propiedades ms importantes:
Copies: Indica el nmero de copias.
BackColor: Color de fondo de impresin.
ForeColor: Color de las letras.
FontName = Establece/Devuelve el Nombre de la fuente de letra.
FontBold = Activa o devuelve el estado del estilo Negrita.
FontItalic = Activa o devuelve el estado del estilo Cursiva.
FontUnderline = Activa o devuelve el estado del estilo Subrayado.
FontStrikethru = Activa o devuelve el estado del estilo Tachado.
FontSize = Devuelve/Establece el tamao de letra.

Mtodos ms importantes:
Print: Imprime cadenas de texto.
EndDoc: Enva el documento a la impresora.
PaintPicture: Permite agregar el contenido de imgenes a la impresora.
Su uso general es:

Picture: Es la propiedad de algn control form, control PictureBox o un


control Image. Lo que significa que previamente hay que cargar la imagen

75
Ing. Hugo Marcelo Muriel Arriaran

para poder imprimirla. No se puede imprimir directamente desde un


archivo con su nombre solamente.

13.3. Caja de dilogo MsgBox


Es una ventana en la cual se muestra mensajes al usuario y se le pide una
respuesta. Se utiliza para confirmaciones sencillas por ejemplo: Cuando se
muestra Desea guardar los cambios realizados? .
La estructura general es:

En res se guarda la respuesta del usuario, es decir el botn presionado, para lo


cual Visual Basic tiene definidas ciertas constantes y se muestran en la siguiente
tabla .

Constante Valor

vbOk 1
vbCancel 2
vbAbort 3
vbRetry 4
vbIgnore 5
vbYes 6
vbNo 7

conjuntoBotones representa la combinacin de botones que aparecern en el


mensaje para que el usuario selecciona uno de ellos. Visual Basic tambin define
constantes para estas combinaciones que son:

Constante Valor

vbOKOnly 0
vbOKCancel 1
vbAbortRetryIgnore 2
vbYesNoCancel 3
vbYesNo 4
vbRetryCancel 5

13.4. Caja de dilogo Font (Font Dialog Control)


sta caja de dilogo se utiliza para poder cambiar los estilos de visualizacin de
texto. Las propiedades ms importantes son:

76
Ing. Hugo Marcelo Muriel Arriaran

Color: Es el color del texto. Para que esta opcin est disponible se debe
colocar la constante Flags=cdlCFEffects.
FontBold (negrita), FontItalic (cursiva), FontUnderline (subrayado),
FontStrikeThru (tachado). Devuelve o establece el valor para los estilos
de fuente.
FontName: Es el nombre de la fuente utilizada.
FontSize: Es el tamao de la fuente.
Flags: Las constantes ms utilizadas son:
o cdlCFEffects: permite seleccionar color para el texto.
o cdlCFPrinterFonts: Indica que las fuentes a mostrar son las del
sistema.
o cdlCFScreenFonts: Indica que las fuentes que se van a mostrar
son los soportados por la impresora.
o cdlCFBoth: Muestra la lista de fuentes del sistema y de la
impresora.
Si se quiere utilizar ms de un valor para Flags hay que recordar que
las constantes citadas no son ms que valores numricos, as que solo
deben sumarse para lograrse ms efectos. Por ejemplo Flags=
cdlCFEffects + cdlCFPrinterFonts.

Ejemplo 13.1: (continuacin del Ejemplo 12.1)


En el ejemplo 9.1 ya se tena construido un mini-editor de texto. En ste ejemplo
se explicar como cambiar los estilos de fuente utilizando el mtodo showFont de
CommonDialog. Adems se mandar a imprimir el texto escrito tal y como se ve
en pantalla.

Diseo:

Se agrega un tem al men Editar para ellos como es habitual se us la


herramienta Menu Editor. El diseo de los mens debera quedar as:

77
Ing. Hugo Marcelo Muriel Arriaran

Controles y Propiedades:

Control Propiedad Valor


Item (en Editar) Caption Dialogo Fuente
Name mnuEditarFuente
Image Stretch True
Name imgPrueba
Picture (busque una imagen
en la computadora)

Cdigo:

78
Ing. Hugo Marcelo Muriel Arriaran

79
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 14

Bases de Datos

14. Bases de Datos


14.1. MySQL
MySQL es uno de los manejadores de Bases de Datos ms popular de los ltimos
tiempos y sin duda dada su rapidez es muy buen alternativa para ser usado con
Visual Basic.

Para poder interactuar con bases de datos MySQL establecer pasos que den
orden y ayuden a estructurar la tarea.

Configurar MySQL
El servidor debe estar correctamente configurado, para ello debe existir al menos
una base de datos creada con informacin que se pueda mostrar.
La versin utilizada por este tutorial es la 5.0.22 disponible en el sitio Web del
programa.
A continuacin los pasos a seguir para configurar el servidor:

o Configurar el servidor: La version 5 de MySQL viene con un programa de


configuracin que se encuentra por lo general en Inicio/Archivos de
Programa/MySQL/MySQL Server 5.0/MySQL Server Instance Config Wizard en un
Windows XP. Con el programa de configuracin se establecen las
caractersticas de funcionamiento e informacin adicional.
o Crear Usuario: Se debe tener creada una cuenta propia en el servidor de base
de datos. La forma general en MySQL es:

Mysql>GRANT ALL PRIVILEGES ON *.* TO usuario@dominio IDENTIFIED BY


contrasea WITH GRANT OPTION;

La sentencia anterior crea un usuario con todos los privilegios sobre todas las
tablas con el nombre usuario y en el dominio, que generalmente es localhost
si el servidor corre en la misma mquina; WITH GRANT OPTION le habilita
todas las opciones.

o Configurar el conector ODBC para interactuar con Visual Basic:


El conector ODBC es un driver que permite acceder desde Visual Basic al
servidor de base de datos. La versin del controlador es mysql-connector-
odbc-3.51 disponible en el sitio web de MySQL.
Tratndose de Visual Basic hay que asegurarse de copiar el controlador en la
carpeta C:\Archivos de programa\Archivos Comunes\ODBC\Data Sources\.
El controlador tambin tiene un archivo de configuracin llamado install.bat
que automticamente configura el controlador y se encuentra dentro la carpeta
del controlador.

80
Ing. Hugo Marcelo Muriel Arriaran

Configurar Visual Basic


ste es el paso fundamental para que funcione la interaccin. Se debe configurar:
Agregar la referencia a objetos remotos que nos permitir acceder a bases de
datos en Project/References, buscar la referencia Microsoft Remote Data
Object 2.0, seleccionar y aceptar.
Indicar el controlador que se va a utilizar, esto se hace con el seleccionador de
origen de datos que se muestra a continuacin:

En esa ventana vamos a definir un nuevo origen de datos seleccionando


Nuevo, a continuacin se elige origen de datos de usuario y se busca la
opcin MySQL ODBC driver 3.51 cuando se seleccione y se finalice
aparecer la siguiente ventana de configuracin:

81
Ing. Hugo Marcelo Muriel Arriaran

La ventana que aparece indica que el controlador que se ha copiado


previamente est disponible. En Data Source Name se debe escribir MySQL
ODBC 3.51 Driver en Server la direccin del servidor de base de datos, en
User un nombre de usuario vlido en el servidor con su Password respectivo,
y por ltimo en Database seleccionar la base de datos sobre la cual se va a
trabajar.
Con eso se termina la configuracin bsica para el manejo de bases de dato
MySQL desde Visual Basic.

Ejemplo 14.1:
ste ejemplo es directamente aplicable despus de haber configurado
adecuadamente el servidor de base de datos y Visual Basic.
El propsito de ste ejemplo es construir un navegador de base de datos, para ello
es necesario dar la opcin de ingresar datos como el nombre del servidor, la base
de datos, el usuario y la contrasea. Con todos los datos se conecta con dicha
base de datos y se listan las tablas de la misma, cada vez que se selecciona una
tabla se muestra su contenido.

El diseo, los controles y las propiedades, y el cdigo estn en el archivo


navegador base de datos.vbp y navegadorBD.FRM respectivamente.

Para este ejemplo se debe crea y usa una base de datos llamada empresa, con
una sola tabla llamada empleado. La tabla empleado contiene el c.i. del empleado,
su nombre, su edad y su salario,

82
Ing. Hugo Marcelo Muriel Arriaran

CAPITULO 16

Interaccin con otros


sistemas
15. Interaccin con otros sistemas
15.1. Trabajando con Microsoft Word

Modelo Abstracto del Modelo de Objeto de Word

Application Object
El objeto Application representa a la Aplicacin de Word y es el padre de los
dems objetos. Sus propiedades y mtodos se utilizan para controlar el
entorno de Word.

Document Object
El objeto Document es el punto central de la programacin de Word ya que
representa el Documento que se crea o se abre. Se tiene un Documents
Collection que representa a todos los documentos de la aplicacin. El
documento que tiene el foco del sistema es el ActiveDocument que se
corresponde con la propiedad ActiveDocument del objeto Application.

Selected Object
El objeto Selected representa el rea actual que est seleccionada del
documento. Cuando por ejemplo se desea aplicar un bold (negrita) se
selecciona o resalta texto para aplicarle el estilo. En un objeto Document
siempre est presente el objeto Selection aunque nada est seleccionado.

83
Ing. Hugo Marcelo Muriel Arriaran

Range Object
El objeto Range representa un rea continua en un documento, que est
establecida por un carcter de inicio y uno de fin. Uno no est limitado a un
solo objeto Range en un documento. Se puede definir varios objetos de tipo
Range en un mismo documento. Las caractersticas ms importantes son:
o Puede representar el punto de insercin, un rango de texto o el
documento entero.
o Contiene caracteres que no se imprimen como espacios, tabulados y
marcas de prrafo.
o Puede representar la misma rea de seleccin o un rea diferente.
o No se guarda con el documento y existe slo mientras se est
ejecutando el cdigo.
ste objeto posee mtodos para insertar texto tales como insertAfter,
insertBefore entre otros.

BookMark Object
Un objeto de este tipo es similar a un objeto Range ya que representa un rea
contigua de texto con un carcter de inicio y uno de fin. Se usa para marcar
una posicin en el documento o como un contenedor de texto.
Tambin se pueden definir varios objetos de este tipo en un mismo
documento. Las caractersticas ms importantes son:
o Se le puede dar un nombre al objeto.
o Los BookMarks son guardados con el documento, por lo tanto no
desaparecen cuando se detiene de ejecutar el cdigo.

15.1.1. Trabajar con Archivos Word


Para manipular documentos de Word es importante conocer las
propiedades y mtodos ms importantes de los objetos a utilizar.

Application Object Properties


Caption: Establece el ttulo del documento.
ActivePrinter: Establece la impresora activa a utilizar.
Visible: Muestra u oculta la aplicacin.
CapsLock: Devuelve True o False dependiendo si est activado el uso de
maysculas.

Document Object
Es importante notar que un documento est compuesto por caracteres que
componen palabras, las palabras estructuran sentencias (lneas), las lneas
a su vez prrafos, que a su vez pueden estar dentro de secciones. Cada
seccin contiene sus propios encabezados y pies de pgina. El objeto
document maneja todas estas caractersticas.

Operaciones:
Crear Nuevos Documentos
Para ello se debe usar el mtodo Add de Document para crear un
nuevo documento basado en la plantilla Normal.dot. Para crear un
documento basado en otra plantilla se le debe pasar como argumento a
Add la ruta de la plantilla.

Abrir Documentos existentes

84
Ing. Hugo Marcelo Muriel Arriaran

Se debe llamar al mtodo Open de Documents Collection del objeto


Application y se le debe proveer la ruta del documento.

Guardar Documentos
El mtodo Save de Document guarda los cambios efectuados en el
documento. Para especificar el nombre debera usarse Documents de
Application pasndole el nombre como argumento de la siguiente
manera:
Application.Documents(Nombre).Save

Tambin se puede utilizar el mtodo SaveAs al cual se le pasa la ruta y


el nombre del archivo, si es que el archivo existiera lo reemplaza
silenciosamente.

Cerrar Documentos
Para cerrar documentos se usa el mtodo Close de Document.
Alternativamente recibe un estado de los cambios, es decir si quieren
guardar los cambios directamente, preguntando o descartar los
cambios. Dichas opciones de guardar son: wdSaveChanges,
wdDoNotSaveChanges y wdPromptToSaveChanges.

15.1.2. Imprimir Archivos Word


Se usa el mtodo PrintOut de Document, que enva el documento activo a
la impresora predefinida del sistema.

Ejemplo 15.1:
Este es el primer ejemplo de interaccin con Word y para que funcione
correctamente se debe activar lo siguiente:
En Proyecto/Componentes debe estar activada la casilla
Microsoft Common Dialog 6.0
En Proyecto/Referencias debe estar activada la opcin
Microsoft Word 11.0 Object Library
Diseo:

Diseo Mens:

85
Ing. Hugo Marcelo Muriel Arriaran

Controles y Propiedades:

Control Propiedad Valor


Formulario Name frmWord
TextBox Name txtTexto
Text Dejar vacio
CommonDialog Name Dialogo
MENUS
Archivo Caption &Archivo
Name mnuArchivo
Nuevo Caption Nuevo
Name mnuArhivoNuevo
ShortCut Ctrl+N
Abrir Caption Abrir
ShortCut Ctrl+A
Name mnuArchivoAbrir
Guardar Caption Guardar
Name mnuArchivoGuardar
ShortCut Ctrl+G
Guardar Como Caption Guardar Como
Name mnuArchivoGuardarC

Cdigo:

86
Ing. Hugo Marcelo Muriel Arriaran

87
Ing. Hugo Marcelo Muriel Arriaran

15.1.3. Macros
1 BVA y Macros
Una macro es procedimiento personalizado o tareas automticas. Es til
para agilizar las tareas en Word y en todas las aplicaciones de Microsoft
Office.
BVA significa Visual Basic para aplicaciones, y es el lenguaje que se utiliza
para programar Macros.
Claro que se pueden crear Macros sin BVA pero no se le podr pedir que
haga todo lo que uno desea.

2 Almacenamiento
Para guardar una Macro se pide elegir si slo funcionar para ese
documento o para todos los documentos de ese tipo.
Por ejemplo si se deseara crear una macro que automticamente coloque
encabezado y pi de pgina, sera bueno que est disponible para todos
los documentos.
3 Comenzando con la Macro
Cuando se comienza con la macro uno se debe planear los pasos y
comandos que este va a ejecutar.
Ahora si se quiere que la Macro est disponible para todos los
documentos hay que verificar que no dependa del documento.
4 Creando Macros
Existen dos maneras de crear macros:
Ejemplo 1 Usar el editor de macros (Grabar una macro)
Es la manera ms sencilla de crear Macros, lo que hace es crear una copia
de todos los comandos que se seleccionan con el ratn, mientras se est
grabando la macro el puntero del ratn se pone en forma de un cassette.
La observacin a sta forma es que el ratn slo se usa para seleccionar
comandos y no as el texto del documento, para lo cual hay que utilizar el
teclado.
Para grabar una macro se debe seguir los siguientes pasos:
1. Abrir cualquier documento.
2. Hacer click en Herramientas/Macros y seleccionar Grabar nueva
macro
3. Aparece una ventana que tiene por ttulo Guardar como Se
escribe un nombre para la macro. Ahora se elige una de dos
opciones Barras o Teclado, lo que indican es si la Macro creada
se acceder desde una barra de herramientas o con acceso directo
del teclado.
4. Seleccionar en Guardar macro en todos los documentos o slo el
documento actual.
5. En Descripcin se coloca una breve descripcin de lo que hace el
macro, la fecha y el autor.
6. Finalmente se selecciona aceptar y comienza la grabacin de la
macro.
7. En cualquier momento se puede pausar o detener la grabacin de
la macro con los botones que aparecen:

88
Ing. Hugo Marcelo Muriel Arriaran

Para ejecutar la macro:


Si es que no se asignado a un acceso directo del teclado o a una barra de
herramientas se puede ejecutar la macro desde el men
Herramientas/Macro/Macros, buscando el nombre de la macro y
seleccionando ejecutar.

Ejemplo 2 Programar la macro con el editor de Visual Basic


Para programar una macro se selecciona el editor de visual Basic que se
encuentra en herramientas/Macro.
Aparece el editor que es el mismo que se usa en el entorno de Visual Basic
6.0. El detalle es que cada subprograma corresponde a una Macro y es
aqu donde se puede especializar la funcionalidad de una macro.

Es til combinar ambas formas, es decir primero se Graba una macro y


luego se la edita con el editor de Visual Basic para mejorar su
comportamiento.

5 Ejemplos
Ejemplo 1 Crear una Macro que agregue el encabezado y
pi de pgina.
Se usar el grabador de macros.
1. Abrir un documento en blanco de Word
2. Hacer click en herramientas/macro/grabar nueva macro
3. Nombre de la macro: EncabPie
4. Guardar macro en: Todos los documentos

5. Escoger barras ( )
6. Escoger comandos y hacer click sobre la macro y sin soltarla
arrastrarla hasta una barra de herramientas y finalmente soltarla.
Atencin: En principio aparecer un nombre largo en la barra de
herramientas y se activar la opcin Modificar seleccin en la ventana
de la macro.
7. Click sobre Modificar Seleccin y cambiar el nombre, cambiar la
imagen de la macro por una de las existentes y escoger el estilo
predeterminado.
8. Click en Cerrar. Comienza la grabacin.
Los siguientes pasos describen como colocar el encabezado y pi de
pgina.
9. Seleccionar men Ver/Encabezado y pi de pgina.
10. Click en Insertar autotexto y seleccionar nombre del archivo y
colocarlo en la esquina derecha del documento.
11. Cambiarle la fuente a Arial tamao 8 y colocar una lnea de subrayado.
12. Cambiarse al pie de pgina con el botn ( ), hacer click en Insertar
Autotexto, seleccionar Autor, Pgina, Fecha.
13. Cambiar la fuente a Arial tamao 8, colocar una lnea superior a todo el
pi de pgina.
14. Detener la grabacin.

89
Ing. Hugo Marcelo Muriel Arriaran

15. Ahora crear un nuevo documento y seleccionar el icono en la barra de


herramientas que corresponde al encabezado y pi de pgina
automtico que ms o menos debi quedar as:

Edicin de la macro creada con el editor de Visual Basic


Ir a Herramientas/Macro/Editor de Visual Basic.
En ste editor se listan todas las macros existentes en subprogramas, es
decir cada subprograma correspondera a una macro.
Ahora hay que buscar el subprograma que corresponde a la macro creada
por el nombre que se le dio a la macro. Una vez encontrada se debe
analizar un poco el cdigo, tras unos minutos de anlisis uno puede darse
cuenta claramente que no son ms que los objetos de la librera Microsoft
Word 11.0 Object Library y toda su jerarqua explicada anteriormente.
El nico inconveniente con esto es que habra que estar muy familiarizado
con toda la jerarqua, sus propiedades y sus mtodos; una tarea que toma
mucho tiempo.

Cul es el uso que se har de Visual Basic entonces?


Para mostrar un poco la personalizacin con el editor de visual Basic se
agregar el nombre de usuario al encabezado. Una vez en el editor y en el
subprograma que corresponde a la macro creada, buscar la lnea que se
corresponde con: NormalTemplate.AutoTextEntries("Nombre de archivo").
En una lnea anterior colocar lo siguiente:
Selection.TypeText Usuario:suNombre.

Lo que hace es usar el objeto seleccin de texto e invoca a su mtodo


(funcin) TypeText que escribe texto.
Ahora guarde la macro y cree un nuevo documento al cual le aplicar la
macro modificada.
Funcion?
se es un ejemplo sencillo de cmo programar Macros, pero como se
mencion antes es trabajar con los objetos de la librera de Word.

Tal vez es ms interesante crear documentos inteligentes con la ayuda de


Visual Basic.

15.1.4. Creacin de documentos inteligentes.


En sta seccin se trabajar enteramente con lo que es aplicar el diseo y
la programacin de Visual Basic para crear documentos de Word inteligentes.
La idea fundamental para ste propsito es que su formulario de trabajo
ahora ser la hoja de documento de Word, lo que quiere decir que usted
disear sobre la hoja de Word y programar con el editor de Visual Basic de
Word.
Primeramente debe activar el Cuadro de controles de diseo de Visual Basic.
Click derecho en el espacio en blanco al final de las barras de herramientas y
saldr una Caja de seleccin en la cual se debe seleccionar el Cuadro de
Controles. Una vez hecho esto Word tendr sta apariencia:

90
Ing. Hugo Marcelo Muriel Arriaran

Viendo el cuadro de controles uno ya se siente en Visual Basic. A continuacin


para poder colocar controles en la hoja, se debe seleccionar el modo diseo
que corresponde al primer botn del cuadro (que tiene la regla, la escuadra y el
lpiz).
El botn de a lado muestra las propiedades del control.
El botn muestra el cdigo correspondiente al control seleccionado.
El resto de los botones no son ms que los controles habituales de Visual
Basic.

1 Ejemplos de documentos inteligentes


Ejemplo 1 Control de formularios
Un uso frecuente es cuando se deben enviar formularios por va electrnica
se debe asegurar que estn correctamente llenados. Para tal efecto se usa
Visual Basic. El archivo VB Formulario PFIP 2004 Empresa beneficiaria.doc
contiene el ejemplo.
Ejemplo 2 Desplazar objetos en la hoja de trabajo.
El siguiente ejemplo muestra como se desplazan objetos cuando se
produzca un evento sobre algn control determinado. El archivo VB
Seleccione una Imagen.doc contiene el ejemplo.

91
Ing. Hugo Marcelo Muriel Arriaran

15.2. Trabajando con Microsoft Excel


15.2.1. Macros
Una macro en Excel es un pequeo programa que sirve para automatizar
tareas repetitivas.

1 Creacin de Macros
Grabacin de Macros

Ir a Herramientas - Macro - Grabar nueva macro.

Nombre de Colocar un nombre que represente a la macro, se aconseja


la macro colocar un nombre relacionado con el propsito de la macro.
Mtodo Se utiliza para acceder rpidamente desde el teclado. El atajo
abreviado puede ser Ctrl+L por ejemplo. Para obtener ms opciones se
(atajo) presiona la tecla Maysculas (Shift) y una tecla cualquiera.
Guardar La macro puede guardarse slo en ste libro o en el libro de
macro en Macros personales que asegura que est disponible desde
cualquier libro.
Descripcin Se coloca una descripcin que incluye el autor y la fecha.

Presionar en Aceptar. A partir de ahora comienza la grabacin (el cursor se


pone en forma de cassette), es decir cada accin que se realice quedar
grabada en la macro. Se podra comenzar seleccionando una celda,
cambindole el formato, entre muchas otras acciones.

Al final se debe presionar sobre el botn que tiene la forma ( ) para


terminar de grabar.

Ahora la macro ya est lista para ejecutarse presionando la combinacin de


acceso rpido del teclado que ha sido seleccionado.

Editor de Visual Basic

92
Ing. Hugo Marcelo Muriel Arriaran

ste editor permite modificar cualquier Macro grabada con el grabador de


Macros.

Entrar al VBA editor (Herramientas- Macro - Visual Basic Editor).

Hay que seleccionar VBA Personal.XLS y seleccionar Mdulos y entrar a


Modulo 1, donde se puede ver todo el cdigo VBA que ha sido generado
al usar la grabadora de Macros.

2 Macros Personales
Una macro personal no es ms que la Macro grabado en el libro
Personal.XLS que como se dijo antes est disponible para todos los libros
de Excel.

3 Ejemplos de Macros
La necesidad de las macros surge precisamente de las tareas repetitivas y
una vez que se comienza a utilizar los beneficios de las macros es muy
difcil dejar de trabajar sin ellos.
Existen una infinidad de posibilidades de Macros, a continuacin se
presentan un conjunto de macros bastante tiles.

Ejemplo 1
Realizar una Macro que alinee celdas a la izquierda o a la derecha.

Primeramente hay que crear la macro, en herramientas/Macro/Grabar


nueva Macro. En el nombre coloque AjustarIzqDer.Luego hay que darle
un acceso rpido del teclado y darle Aceptar. Cuando est comenzando la
grabacin hay que detenerla porque va a utilizar el editor de Visual Basic
para hacerlo personalizado.
Ahora ingrese al editor de Visual Basic y busque el subprograma que se
corresponde con el nombre de la macro. Hay que seleccionar VBA
Personal.XLS y seleccionar Mdulos y entrar a uno de los mdulos que es
el que pertenece a la macro que est creando.

Ahora es aqu donde se comienza a programar. El subprograma debera


quedar ms o menos as:

93
Ing. Hugo Marcelo Muriel Arriaran

En ste ejemplo se utiliza el objeto Selection que representa una seleccin


de celdas y de ste objeto modificamos su propiedad HorizontalAlignment
que indica la alineacin horizontal que puede tener los siguientes valores:
xlLeft, xlRight, xlCenter.

Ejemplo 2
En ste ejemplo se hace una pequea macro que permita cambiar de
bolivianos a dlares.

Se procede igual que en el ejemplo anterior.

La diferencia con ste ejemplo es que se necesita usar cada celda y no


toda la seleccin por eso se establece un rea. Se Usa el objeto Celda
cuyo significado queda claro y se modifica su propiedad Value.

Ejemplo 3
La macro siguiente permite redondear el valor de las celdas seleccionadas
a slo dos decimales.

El cdigo de la macro es:

94
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 4
Todos los ejemplos que siguen utilizan el archivo Ejemplos
format.XLS.
Encuentra el mayor nmero de un conjunto de celdas
seleccionadas.
Solucin 1:

Solucin 2:

95
Ing. Hugo Marcelo Muriel Arriaran

Solucin 3:

Ejemplo 5
A partir de las races de una ecuacin de segundo grado
reconstruye la ecuacin.

96
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 6
Averigua en cuantos aos se duplica un capital puesto a un
inters y adems cual es el monto acumulado hasta ese ao.

97
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 7
Activa (muestra) una por una las hojas del libro activo.

Ejemplo 8
Activa (Muestra) una determinada hoja de acuerdo a que se
elija una determinada opcin.
El diseo se encuentra en el archivo Ejemplos format.xls.

98
Ing. Hugo Marcelo Muriel Arriaran

Cdigo:

99
Ing. Hugo Marcelo Muriel Arriaran

15.3. Visual Basic para Autocad


Autocad es uno de los programas de diseo ms utilizado del mundo
entero. Es un programa de diseo asistido por computador.

El amplio uso de autocad hace nacer la necesidad de automatizar ciertas


tareas y as reducir el tiempo para su realizacin.
En ste captulo se usar tambin el Visual Basic para aplicaciones (BVA),
que es el lenguaje con el cual se puede automatizar las tareas.

15.3.1. Editor de Visual Basic


Microsoft Visual Basic para aplicaciones (VBA) es un entorno de
programacin basado en objetos diseado para proporcionar amplias
capacidades de desarrollo. La principal diferencia entre VBA y VB (Visual
Basic 6) es que VBA se ejecuta en el mismo espacio de procesos que
AutoCAD, con lo que proporciona un entorno de programacin adaptado a
AutoCAD y muy rpido.

VBA hace posible la integracin de las aplicaciones con otras aplicaciones


que admiten VBA. Esto significa que AutoCAD, con otras bibliotecas de
objetos de aplicacin, puede funcionar como controlador de Automation
para otras aplicaciones como Microsoft Word o Excel.

VBA enva mensajes a AutoCAD a travs de la interfaz AutoCAD ActiveX


Automation.

Para administrar Proyectos (dvb) con BVA se debe ir a Herramientas/Macro


donde se encuentran todas las opciones concernientes a Macros.

Crear nueva Macro


Una macro en Autocad es una estructura completa que puede contener
formularios y varios subprogramas que realizan una determinada accin.
Bajo el men macro en herramientas se elige la opcin
Aministrador de VBA que es donde se manejan todos los proyectos
de Macros.
A continuacin se debe elegir Nuevo, lo que crear un nuevo
proyecto.
Usando la opcin guardar como se le asigna un nombre y una ruta
al proyecto, con lo que el proyecto queda creado.
Atencin: En Autocad no existe la grabadora de Macros. Se debe
utilizar el editor de Visual Basic que tambin se encuentra en
Herramientas/Macro.
Cuando se abre el editor de Visual Basic que tiene la apariencia del
entorno de Visual Basic, se agregan Mdulos y formularios de
trabajo.

100
Ing. Hugo Marcelo Muriel Arriaran

La anterior imagen muestra la ventana de proyectos donde debera


estar listado el proyecto que cre anteriormente. Como ya es
habitual maneja la estructura de mens desplegables. Para agregar
un nuevo formulario o mdulo se debe hacer click derecho sobre el
proyecto y se despliega las opciones respectivas.

Cargar Macro
Hay veces que ya se tienen proyectos hechos con VBA que trabajan
con Autocad. Cuando se desea cargar un proyecto se debe ir otra vez a
Herramientas/Macro/Cargar Proyecto y seleccionar la ubicacin y nombre
del proyecto.

Ejecutar Macro
Dos alternativas:
En el men Herramientas/Macro/Macros se selecciona la macro y
se hace click en ejecutar.
Desde la lnea de comando de Autocad se escribe: vbaejecutar. La
instruccin muestra la ventana de macros de donde se elige la
macro y se la ejecuta.
La lnea de comandos tiene este aspecto:

15.3.2. Dibujo de figuras bsicas con VBA


Esta seccin est enteramente dedicada a la utilizacin de macros para
dibujar figuras bsicas.
Algunos de los ejemplos que vienen a continuacin fueron extrados y
modificados de los ejemplos de Autocad de autor Autodesk, Inc. Dichos
ejemplos mantienen el derecho de copia en comentarios.
Los siguientes ejemplos muestran como se utilizan los objetos de autocad y
VBA para dibujar.

Ejemplo 15.3.1: Dibuja una lnea utilizando el objeto ThisDrawing y su


propiedad ModelSpace que agrega (Add) figuras, en este caso una lnea.
Para tal propsito se utiliza un formulario que ayuda al dibujo. El archivo
dibujarLinea.dvb contiene el diseo y el cdigo respectivo.

101
Ing. Hugo Marcelo Muriel Arriaran

Ejemplo 15.3.2: Dibuja un rectngulo utilizando lneas. La diferencia de


este ejemplo es que se pueden dibujar cuntos rectngulos se desee. El
archivo dibujaRectangulo.dvb contiene el ejemplo.

Ejemplo 15.3.3: Dibuja en proyeccin isomtrica las caras frontal y lateral


izquierdo de un cubo de lado L. El archivo cuboIsometrica.dvb contiene
el ejemplo completo.

15.3.3. Importar Exportar Datos de entre AUTOCAD Y EXCEL


Para poder hacer las operaciones de importacin y exportacin de datos se
utilizan los objetos VBA tanto para Excel como para Autocad.

Ejemplo 15.3.4: ste es el ejemplo modificado para que funcione con las
ltimas versiones de Excel ya que el ejemplo original de Autocad se basa
en Excel 97. Para poder utilizar el ejemplo se debe cargar el macro
contenido en el archivo: Exceling.dvb y adems abrir el archivo de dibujo
attrib.dwg que es sobre el cual se aplica la macro.

102