Ing. Julián Andrés Arias L. Práctica 22.

Anuncio
Ing. Julián Andrés Arias L.
Universidad Tecnológica de Pereira
Facultad de Ingeniería Industrial
Informática I
Práctica 22. Practicar el uso de las órdenes y estructuras de control básicas.
VBA para crear procedimientos. Además aprender a invocar eventos para
interactuar con los formularios.
Ejercicio 1
1 Abre una nueva hoja en un nuevo libro de trabajo habilitado para macros.
Vamos a escribir nuestro primer programa en “Visual Basic”. ALT+F11
2 Ve al menú insertar [Módulo1]” y haz doble clic en para empezar a escribir
código en él:
3 Escribe el siguiente programa:
Sub Programa1()
MSGBOX “Hola Mundo”
End Sub
Habrás observado varias cosas:


Las “sentencias” Sub y End Sub aparecen de color azul
Aunque escribas MSGBOX (todo en mayúsculas), aparece MsgBox
Las sentencias Sub, End Sub y MsgBox son “palabras reservadas”. Dicho de
otra forma: forman parte del lenguaje “Visual Basic”
Acabamos de escribir nuestro primer “procedimiento”, ya veremos que hay
diferentes tipos de programas. De momento tenemos un programa
PROCEDIMIENTO.
4 Vamos a “ejecutar” el procedimiento “Programa1”…
5 Ahora salgamos del editor de Visual Basic para retornar a la hoja e
insertemos
un
botón
(llamado
programa1)
desde
la
ficha
ProgramadorInsertarControles de formulariobotón, de tal forma que
cuando lo ubiquemos en cualquier lugar de la hoja, nos aparezca una
ventana que nos pedirá el nombre de la macro o procedimiento que le
asignaremos a este botón. En ese momento, aparecerá en la lista de macros,
la macro o procedimiento que creamos anteriormente, Programa1, y pulsamos
el botón Aceptar para asignarlo.
Ahora si hacemos clic sobre el botón y
programa1
nos aparecerá lo pedido en el
Ing. Julián Andrés Arias L.
6 Escribe el siguiente programa debajo de la palabra End Sub del programa
anterior:
Sub Programa2()
MSSGBOX "A ver que pasa"
‘Está claro que hemos escrito un error
End Sub
7 Vamos a “ejecutar” el procedimiento “Programa2”…
8 Creemos un botón desde la hoja de Excel que llame al procedimiento Programa2
9 Al ejecutar el programa, observamos que tenemos un error y el compilador de VB se
encarga de advertírnoslo, lo que debemos hacer es corregir el error según la línea
donde se presente. Observemos que el error fue haber escrito mal la palabra
reservada MsgBox que trae incorporada VB para mostrar mensajes, ya que repetimos
dos veces la letra ‘S’.
Para esto vamos al menú EjecutarRestablecer. Escribamos bien la palabra MsgBox y
volvamos a correr nuestro Programa2.
Para los siguientes programas vamos a utilizar variables de un determinado tipo.
10. Escribe el siguiente programa debajo de la palabra End Sub del programa anterior:
Sub Programa3()
Dim n1 As Integer, n2 As Integer
n1 = InputBox("Escribe un número")
n2 = InputBox("Escribe otro número")
MsgBox "La Suma es = " & n1 + n2
End Sub
11 Vamos a “ejecutar” el procedimiento “Programa3”, creemos un botón que lo llame
y probémoslo
12 Escribe el siguiente programa
Sub Programa4()
'Programa que nos pide nuestro nombre
Dim nom As String
'El tipo "String" significa texto
Ing. Julián Andrés Arias L.
nom = InputBox("Escribe tu nombre y apellidos")
MsgBox "Hola " & nom
End Sub
13 creemos un botón que llame al Programa4 y probémoslo
14 Escribe el siguiente programa, este trae un poco mas de cálculos, así que veremos
como utilizar los operadores aritméticos
Sub Programa5()
'Cálculo del área de un TRIÁNGULO
Dim base As Double
Dim alt As Double
Dim area As Double
'Observa que defino el área como variable _
Y no imprimo la formula completa, sino que la asigno a area
base = InputBox("¿Cuál es la base del triángulo?")
alt = InputBox("¿Cuál es la altura del triángulo?")
area = base * alt / 2
'Observa como asigno el valor de la 3ª variable _
a partir de las otras dos
MsgBox "El área del triángulo es " & area
End Sub
Creemos un botón que llame al Programa5 y probémoslo
15 Ahora creemos dos programas que incorporen la estructura If-Then- Else-End If
Sub Programa6()
Dim A As String
A = InputBox("¿Quieres continuar (S/N)?")
If A = "S" Or A = "s" Then
MsgBox "Buena elección"
End If
End Sub
Creemos un botón que llame al Programa6 y probémoslo
Ing. Julián Andrés Arias L.
Sub Programa7()
Dim num1 As Double, num2 As Double 'Defino dos variables
num1 = InputBox("Escribe el primer número")
num2 = InputBox("Escribe el segundo número")
'El programa nos solicita dos números
If num1 < num2 Then
MsgBox "El primer número " & num1 & " es menor que " _
& "el segundo " & num2
Else
MsgBox "El primer número " & num1 & " no es menor que " _
& "el segundo " & num2
End If
End Sub
16
Ahora creemos un programa que incorporen la estructura Select -Case-End
Select
Sub Programa8()
Dim sexo As String
sexo = InputBox("Escribe
Select Case sexo
Case " Hombre"
MsgBox "¿Qué
Case " Mujer"
MsgBox "¿Qué
Case Else
MsgBox "¿Qué
End Select
End Sub
17
Hombre o Mujer según tu sexo")
tal, Hombre?"
tal, Mujer?"
tal, sexo ambiguo?"
Ahora creemos un programa que incorporen la estructura While - Wend
Sub Programa9()
Dim contador As Integer
contador = 1
While contador <= 5
MsgBox "Variable Contador =
contador = contador + 1
Wend
End Sub
" & contador
18 Ahora creemos un programa que incorporen la estructura For – To - Next
Ing. Julián Andrés Arias L.
Sub Programa10()
Dim num As Integer, i As Integer
Dim nom As String
num = InputBox("¿Cuántas veces quieres que te salude?")
nom = InputBox("¿Cuál es tu nombre?")
For i = 1 To num
MsgBox "Hola " & nom
Next
End Sub
19 Ahora creemos un programa que nos incorpore varias de estas sentencias de
control, para este caso vamos a utilizar If-then-Else- End if y for – Next
Sub Programa11()
Dim A As String
Dim i As Byte
For i = 1 To 20
A = InputBox("¿Quieres continuar? (S/N)")
If A = "N" Or A = "n" Then
Exit For
Else
MsgBox “Seguiremos hasta que quieras”
End If
Next
MsgBox "Se acabó”
End Sub
20 Por ultimo creemos un programa que interactúe con un formulario, es decir, que
una vez se ejecute, espere los eventos que puedan suceder
Minicalculadora elemental. En este ejemplo se muestra una calculadora elemental
que permite hacer las cuatro operaciones aritméticas
Lo que primero debemos hacer es crear un formulario en vista de diseño, que
contenga 4 botones de comando(btnSumar, btnRestar, btnMultiplicar, btnDividir), 3
cuadros de texto (txtValor1, txtValor2, txtResultado)y 2 etiquetas(lblOperador, lblIgual)
Una vez hayamos modificado los respectivos nombres a cada control, procedemos a
asignarle código a los botones que harán las operaciones aritméticas.
21 Para el botón ‘btnSumar’ en la vista de diseño del formulario, hacemos doble click,
y vamos a Generarle código y le escribimos el siguiente:
Ing. Julián Andrés Arias L.
Private Sub btnSumar_Click()
txtResultado.Text = Val(txtValor1.Text) + Val(txtValor2.Text)
lblOperador.Caption = "+"
End Sub
De igual manera aplicamos el paso 26 para los tres botones siguientes y les asociamos
el respectivo código:
Private Sub btnRestar_Click()
txtResultado.Text = Val(txtValor1.Text) - Val(txtValor2.Text)
lblOperador.Caption = "-"
End Sub
Private Sub btnMultiplicar_Click()
txtResultado.Text = Val(txtValor1.Text) * Val(txtValor2.Text)
lblOperador.Caption = "*"
End Sub
Private Sub btnDividir_Click()
txtResultado.Text = Val(txtValor1.Text) / Val(txtValor2.Text)
lblOperador.Caption = "/"
End Sub
22 Ahora probemos lo hecho. Vamos a la vista de formulario y ejecutemos cada
acción de los botones.
Por último:
23 Creemos un menú para organizar los botones desde los cuales se llama cada uno
de los programas, así:
Cuando
insertemos
el
“Pergamino
Vertical”
le
damos
un
tamaño
y
colocaremos dentro todos
los botones en orden de
creación.
Lo que hemos visto es solo una parte básica de todo lo que podemos hacer con VB,
ya nos queda como tarea investigar más a fondo según la necesidad que se nos
plantee en un futuro…
Descargar