H. ALEJANDRO GONZÁLEZ
profesoralejandrogonzalez@gmail.com
BIENVENIDA
Los lenguajes de programación orientados a eventos nos facilitan realizar programas sobre los cuales se
tiene control directo de su comportamiento, de sus acciones e interacciones con el usuario y del modelo
que se quiere llevar acabo para transmitir un conocimiento acerca de un determinado tema; el código del
programa se divide en bloques (procedimientos), los cuales se asocian a objetos (botones, iconos, etc.)
que permiten manejar eventos específicos, como digitar o hacer clic.
Visual Basic tiene muchos recursos que permiten desarrollar una labor con mayor o menor dificultad,
según el grado de conocimiento, es por ello que se ha elegido este lenguaje de programación como
plataforma para el desarrollo de un proyecto final de Grado Undécimo.
En este documento planteo talleres que partiendo de ejercicios simples van llevando al estudiante poco a
poco a desarrollar tareas más complejas, los ejercicios aquí planteados son una de las tantas formas en la
que se puede desarrollar una aplicación, podrían surgir otros procedimientos para llegar a la misma
solución.
Finalmente espero que con el desarrollo de este material el estudiante que no poseía ningún conocimiento
del lenguaje, ya estará en capacidad de iniciar su proyecto, que además lo puede abordar en cualquier
equipo de cómputo que este a su alcance y que tenga instalado Word o Excel que es de donde abordamos
los talleres, eso no implica que si se tiene el software no se pueda trabajar directamente en él.
CONTENIDOS
REQUERIMIENTOS
Para este tutorial emplearé Excel, pero los resultados son iguales.
Luego deberá presionar el comando Alt + F11 y visualizará la siguiente pantalla que es la misma en el caso
de tener el programa Visual Basic instalado
Usando el Menú Insertar o por medio del cuadro de herramientas gráficas y tenemos nuestro Formulario
listo para empezar que tendrá la siguiente apariencia
2 EL PROYECTO
Cada vez que creamos un sistema, crearemos un proyecto es decir un organizador de nuestro sistema, en
el que podemos agregar formularios, reportes, módulos, etc.
Para agregar objetos a nuestro proyecto nos ubicamos en la ventana del proyecto y sobre Formularios
presionamos clic derecho y procedemos insertar lo que necesitemos
En el cuadro de propiedades del Formulario (UserForm), las propiedades más comunes que podemos
cambiar son:
NOMBRE DESCRIPCIÓN
Name Nombre del formulario
BackColor Color de fondo del formulario
BorderStyle Estilo del borde de la ventana: sirve para permitir el ajuste de la ventana o no.
Picture Permite colocar una imagen de fondo de la ventana (Como un papel tapiz)
Para ejecutar el formulario y verlo como se comportará según las propiedades que le hemos fijado puede
ir al botón de ejecutar o presionar la tecla F5.
El cuadro de herramientas de Visual Basic contiene las herramientas que se pueden utilizar para dibujar
controles en el formulario también llamados controles intrínsecos que son:
Cuando se crea un objeto por primera vez, Visual establece su propiedad Name a un valor predeterminado.
Por ejemplo, todos los botones de comando tienen la propiedad Name establecida inicialmente a
Commandn, donde n es 1,2,3 y así sucesivamente. Es decir, Visual llama al primer botón del comando de
un formulario Command1, al segundo Command2 y al tercero Command3.
Puede mantener los nombres predeterminados, sin embargo, cuando tiene varios controles del mismo
tipo, es más lógico modificar las propiedades Name para que sean algo más descriptivas usando
nomenclatura.
UNIDAD 2
La Programación
Intsrucción_2
Instrucción_n
End Sub
2 LOS COMENTARIOS
Cuando una frase va precedida de una comilla simple (´) ó también la palabra REM, Visual Basic
interpreta que esa frase es un comentario y no ejecuta acción alguna sobre ella.
Por ejemplo:
Una constante es un valor que no cambia durante la ejecución de un programa. Visual Basic admite
números y caracteres
4 VARIABLES
Una variable contiene un valor que puede modificarse a lo largo de la ejecución de la aplicación.
El nombre de una variable tiene que comenzar por una letra, puede tener hasta 255 caracteres de longitud
y debe ser único dentro de su ámbito. Los caracteres pueden ser letras, dígitos y el carácter de su
subrayado. No se puede usar el punto ni otros caracteres que tienen un significado especial para Visual
Basic, como los paréntesis.
Una palabra reservada tiene un significado especial para Visual Basic. Son palabras reservadas las
sentencias predefinidas (for), los nombres de las funciones (val), métodos o eventos (clic), propiedades
(caption), tipos (integer) y operadores (and). El nombre de una variable no puede ser una palabra
reservada.
6. TIPOS DE DATOS
Dim I As Integer
Dim R As Double
Dim Nombre As String
Dim Etiqueta As String * 10
Dim F As Currency
Dim L As Long, X As Currency
Las sentencias anteriores declaran: I como una variable entera, R como una variable real de precisión
doble, Nombre como una variable para contener una cadena de caracteres de longitud variable, Etiqueta
como una cadena de caracteres de longitud fija (10 caracteres), F como una variable entera larga y X como
una variable fraccionaria.
Observe que en una sentencia Dim puede realizar más de una declaración.
Cuando se declara una variable y no se especifica su tipo, se asume que es de tipo Variant.
Por ejemplo:
Dim A, B As Integer
La sentencia anterior le puede inducir a pensar que A y B son de tipo entero, lo cual no es cierto; A es de
tipo Variant (por defecto) y B es de tipo Integer
Si una variable se utiliza y se declara, se asume que es de tipo Variant. Por ejemplo:
L = “Dato”
L = 3.2567
Suponiendo que L no ha sido declarada explícitamente, las sentencias anteriores declaran L como una
variable Variant que ha cambiado su tipo para comportarse como una variable real de doble precisión.
7. DECLARACIÓN EXPLÍCITA
En Visual Basic no es necesario declarar una variable antes de utilizarla. Sin embargo, esta forma de
trabajar puede ser una fuente de errores.
Por ejemplo:
Dim M As Integer, N As Integer
VarTemp = M
…
N = VaTemp
En este ejemplo, VarTemp no se ha declarado explícitamente. Esto no supone un error, ya que Visual Basic
se encarga de de crear dicha variable. Ahora observe que, por error, el nombre de esa variable se ha
escrito mal en la última sentencia. Cuando Visual Basic encuentra un nuevo nombre no puede determinar
si es debido a un error o a la definición de una nueva variable.
Para evitar este tipo de errores, podemos indicar a Visual Basic que genere un mensaje de error siempre
que encuentre una variable no declarada explícitamente. Para ello, escribiremos la sentencia siguiente en
la sección de Declaraciones del formulario:
Option Explicit
Esta sentencia solo opera en el formulario o en el módulo donde se haya puesto.
Para tener esta opción activa para todo el código de una aplicación, ejecute la orden Opciones del menú
Herramientas, elija el diálogo Entorno y seleccione la opción Declaración de variables requerida.
Seleccionada esta opción agrega la sentencia Option Explicit en cualquier nuevo módulo que creemos.
Se entiende por ámbito de una variable el espacio de la aplicación donde la variable es visible y por tanto
se puede utilizar. La figura siguiente indica los lugares donde se puede declarar una variable.
La tabla siguiente resume cómo debe declararse una variable en función del espacio donde deseamos:
Ámbito Declaración
9. CONSTANTES SIMBÓLICAS
A menudo utilizamos valores constantes una y otra vez el código, o bien el código depende de ciertos
números difíciles de recordar. En estos casos, la mejor solución es definir estos valores como constantes
simbólicas y utilizar en lo sucesivo los nombres que identifican estas constantes. Para definir una constante
simbólica, utilice la siguiente sintaxis:
Para nombrar una constante, se utilizan las mismas reglas que se aplican para crear variables. La expresión
puede ser numérica, alfanumérica o de tipo fecha y hora. Por ejemplo:
. If … Then… Else
. Select Case
. Do… Loop
. For … Next
. For Each … Next
. If… Then… Else
SENTENCIA IF
Para indicar que se quiere ejecutar uno de varios bloques de sentencias dependientes cada uno de ellos
de una condición, la estructura adecuada es la siguiente:
If condición Then
Sentencia-1
[ElseIf condición Then
Sentencia-2]…
[Else
Sentencia-n]
EndIf
Ejemplo:
Esta sentencia permite ejecutar de varias acciones en función del valor de una expresión. Es una alternativa
a If.. Then… ElseIf cuando se compara la misma expresión con diferentes valores
Select Case X
Case 1
Text.Text = “1”
Case 2,3
Text.Text = “2 o 3”
Case 4 To 9
Text.Text = “X<1 o X>9”
End Select
Un loop (bucle) repite la ejecución de un conjunto de sentencias mientras una condición dada sea cierta,
o hasta que una condición dada sea cierta. La condición puede ser verificada antes o después de ejecutarse
el conjunto de sentencias.
Formato 1
Do
[sentencias] [Exit Do]
[sentencias]
Loop [{While | Until} condición]
Donde condición es cualquier expresión que se evalúe a True o a False (Verdadero o falso).
Esta sentencia nos permite realizar varias estructuras diferentes. Permite, como se aprecia en los
formatos, crear bucles con la condición de determinación al final o al principio del bloque de sentencias.
Por ejemplo:
Sub Form_Click()
Dim I As Integer, Suma As Integer
I=1
Do While I <= 99 ´Hacer mientras I <= 99
Suma = Suma + I
Loop
End Suma
Este ejemplo indica que cuando hagamos clic sobre el formulario se visualizará sobre el mismo la suma de
los números impares entre 1 y 99. El mismo resultado se obtiene con el siguiente ejemplo:
Sub Form_Clilck()
Dim I As Integer, Suma As Integer
I=1
Do “Hacer hasta que I < 1
Suma = Suma + I
I=I–2
Loop Until i < 1
End Suma
La sentencia Exit Do permite salir de un bucle Do… Loop antes de que finalice este.
La sentencia For da lugar a un lazo o bucle, y permite ejecutar un conjunto de sentencias cierto número
de veces.
La sentencia Exit For permite salir de un bucle For… Next antes de que éste finalice Ejemplo:
Sub Form_Clilck()
Dim I As Integer, Suma As Integer
For I = 1 To 99 Step 2 ´Para I = 1,3,5… hasta 99
Suma = Suma + 1
Next I
End Sub
Este ejemplo indica que cuando hagamos clic sobre el formulario se visualizará sobre el mismo la suma de
los números impares entre 1 y 99. Si el valor de la expresión 3 es negativo, se comprueba si la variable es
menor que la expresión 2, en cuyo caso se pasa a ejecutar la siguiente sentencia Next. En otro caso, se
ejecuta el bucle y se decrementa la variable. Este proceso se repite hasta que la variable sea menor que
la expresión 2. Por ejemplo:
Sub Form_Click()
Dim I As Integer, Suma As Integer
For I = 99 To 1 Step 2 ´Para I = 99,97… hasta 1
Suma = Suma + 1
Next I
End Sub
La sentencia For Each… Next es similar a la sentencia For, con la diferencia de que ahora se repite un grupo
de sentencias para cada elemento de una colección de objetos o de un array. Esto es especialmente útil
cuando no conocemos cuántos elementos hay en una colección o en el array.
Su sintaxis es la siguiente:
Por ejemplo, el procedimiento que se muestra suma los elementos de un array pasado como argumento:
Sub Form_Cliclk()
Dim X, Suma
For Each X In Array
Suma = Suma + X
Next I
MsgBox Suma
End Sub
La sentencia For de este ejemplo indica que por cada valor X en el array se ejecuta la sentencia: Suma =
Suma + X
UNIDAD 3
Texto e Imagen
Antes de iniciar este ejercicio debe crear una carpeta en el Disco Duro con el nombre del proyecto, en ella
deberá crear una subcarpeta con el nombre de imágenes y otra con el nombre textos, que deberán
corresponderse cada imagen con su propio texto.
Por lo tanto, debe tener ya en mente un Gran tema que le apasione y pueda dividir en por lo menos cuatro
subtemas, por cada subtema deberá conseguir imágenes o fotografías en formato jpg, jpge, bmp en lo
posible. Por cada imagen debe corresponder un texto explicativo y sencillo elaborado en Word sin efectos
de impresión.
UNIDAD 1
LOS ANIMALES
CAPÍTULO 1 CAPÍTULO 2
LOS ANIMALES SALVAJES LOS ANIMALES DOMÉSTICOS
TEMA 1 TEMA 2
GENERALIDADES DE LOS HABITAT DE LOS
ANIMALES SALVAJES ANIMALES SALVAJES
ESCENA 1
ESCENA 2
ESCENA 3
ESCENA 4
El ejemplo consiste en desarrollar en Visual Basic el TEMA 1 GENERALIDADES DE LOS ANIMALES SALVAJES.
TEMA 1
Diseño de la Interface:
T EXTO
IM AGEN
T EXTO
BO T ÓN
DESARROLLO DE LA PRÁCTICA
Cargue Visual Basic como se explicó en la Unidad 1
Guarde el archivo en la carpeta donde tiene las imágenes y textos con el nombre de Animales.
Cree una Etiqueta (label1) en la parte superior de la pantalla, con las siguientes propiedades:
OBJETO PROPIEDAD
BackStyle Transparent
Caption ANIMALES SALVAJES
Font Arial 36 Italic
Autosize True
ForeColor Negro
Ahora cree dos marcos (frame) y en la propiedad Caption déjelos en blanco
Dentro del primer Frame cree una imagen1 con las siguientes propiedades:
OBJETO PROPIEDAD
BorderStyle 1-Fixed Sigle
Picture Ruta: Carpeta Fotos
PictureSizeMode Mode Strech
ControlTipText Cocodrilo
Copie el image1 y teniendo seleccionado el Frame1 pegue 3 imágenes más, a la pregunta de si desea crear
una matriz de controles, conteste que NO.
Seleccionando cada imagen cambie la propiedad respectiva por: oso, serpiente y lobo
Cree un botón de comando (Command Button1) justo al frente de la primera imagen cuyo caption sea
Cocodrilo con las siguientes características:
OBJETO PROPIEDAD
Font MsSansSerif - Negrita - 12
Cree una image5 sobre el Frame2, ocupando más o menos la mitad, con las siguientes propiedades:
OBJETO PROPIEDADES
BorderStyle 1-Fixed Single
PictureSizeMode Mode Strech
Cree una caja de texto (TextBox1) debajo del image5 y coloque las siguientes propiedades:
OBJETO PROPIEDADES
Name Text1
Multiline True
ScrollBars 2-Vertical
Locked True
Finalmente cree un Botón de comando al final y centrado del Frame2 con las siguientes propiedades:
OBJETO PROPIEDAD
Caption SALIR
Font Ms Sans Serif – Negrita -14
De ahora en adelante solo debe seleccionar el objeto a que se hace referencia con doble clic y pasará a la
ventana de programación, el programa automáticamente colocará la primera y la última línea de cada
programa, usted solo debe digitar el contenido de la programación.
PROGRAMACIÓN
Entonces cuando al ejecutar el programa, un usuario selecciona una imagen del Frame1 esta imagen se
reflejará en el Frame2, y si selecciona un botón con el nombre deberá reflejarse en el Frame2 el texto
correspondiente.
Sonido y Video
SONIDO
Es necesario ir al Cuadro de herramientas y presionar botón derecho Controles adicionales y buscar el que
nos permita visualizar el video y escuchar el sonido que queramos, siempre y cuando ya lo hallamos
seleccionado con anterioridad y tenerlos listos en una carpeta en el proyecto.
Seleccionado el icono de Windows Media Player, este quedará en la barra de herramientas listo para ser
usado en el proyecto.
OBJETO PROPIEDAD
Visible False
URL Ruta del archivo de sonido
Teniendo en cuenta que debe escribir el nombre de la canción ya que al copiar la ruta esta no que da
grabada y por tanto hay que digitarla
Ahora haga correr el programa presionando F5 y ya debe sonar la melodía que escogió.
Otra forma de colocar el sonido es colocar un botón de comando al que puede llamar música y cambiarle
las siguientes propiedades:
OBJETO PROPIEDAD
Caption Música
Font San Serift / Negrita / 14
Al hacer correr el programa con F5 y presionar el botón de Música, debe iniciar a sonar la música
seleccionada.
Para insertar un video en un formulario debe usar el mismo botón de Windows Media Player y ampliarlo
al tamaño deseado
OBJETO PROPIEDAD
Personalizado Ruta del video
Menú y navegación
Como estamos usando Visual Basic desde Microsoft Office, no todas las funciones están habilitadas, por
eso no podemos usar el menú desplegable, ni el menú de Windows, razón por la que usaremos un nuevo
formulario y utilizaremos el botón de Multipágina.
Debemos tener nuestro proyecto abierto y todos nuestros formularios funcionando y creamos otro
UserForm como lo aprendimos y sobre él colocamos un botón de multipágina
Y abriremos una página por cada uno de los formularios que tenemos en el proyecto, presionando botón
derecho sobre la pestaña
Cambiamos los nombres de las páginas de acuerdo a lo que va en cada formulario, (Animales Salvajes,
Video de… etc.)
Debemos conseguir unos iconos de navegación básicos de aquí, adelante, atrás y salir por lo menos eso
depende de la calidad de proyecto que desee presentar
En la hoja uno colocamos un botón de comando que indique que se va a ir al formulario 1, un botón de
siguiente y otro de salir.
Botón siguiente:
Private Sub CommandButton2_Click()
MultiPage1.Value = 1
End Sub
Botón salir:
Private Sub CommandButton3_Click()
End
End Sub
Botón anterior:
Private Sub CommandButton2_Click()
MultiPage1.Value = 0
End Sub
Botón siguiente:
Private Sub CommandButton3_Click()
MultiPage1.Value = 2
End Sub
Botón salir:
Private Sub CommandButton4_Click()
End
End Sub
Antes de hacer correr el proyecto debemos cambiar la programación del botón SALIR de cada uno de los
formularios y en lugar del comando End colocamos Unload Me
En el UserForm1 quedaría:
Después de cambiar toda la programación haga correr el Menú y verifique que todo está funcionando y
personalice este Formulario con los colores y fuentes que desee.
Para terminar en la Hoja de Menú debe colocar una foto y los nombres de cada uno de los que crearon el
proyecto para ser evaluado.
El proyecto debe tener las fotos en todos los formularios, texto por cada una de las imágenes y si el texto
es muy grande colocar barras de desplazamiento, música de fondo en el menú principal o en algún
formulario y 3 videos.
En el menú principal sus fotos, el logo del colegio (solicitarlo al profesor) y unas etiquetas que digan:
FIN