Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CURSO
INTERACTIVAS
Programacin Visual
Basic para Aplicaciones
(VBA)
en soporte
Introduccin (2)
PowerPoint
Tema
1: La interface de
programacin (8)
Tema 2: Cuatro controles
bsicos (20)
Tema 3: Seis controles bsicos
(45)
Tema 4: Estructuras de control
(Todas las palabras
son
en VBA subrayadas
(60)
hipervnculos)
Prof. PEDRO FULLEDA BANDERA
/ Ludlogo,
Comunicador
Tema
5: Desarrollo
de proyectos
Social
(77)
ntroduccin:
La programacin en Visual Basic es una de las maneras ms
placenteras de programar. Gran parte de la creacin de un
programa en Visual Basic consiste en colocar objetos grficos en
la pantalla y la configuracin de sus atributos. En realidad, Visual
Basic es el nico lenguaje de programacin actual que los
principiantes pueden aprender con facilidad. Su antecedente es el
lenguaje BASIC (forman su nombre las iniciales, en ingls, de:
Cdigo
de
Instrucciones
Simblicas
Multipropsito
para
Principiantes), basado en texto y que durante dcadas evolucion
a otras versiones como MBBASIC, GWBASIC, QUICKBASIC y
QBASIC. Con el desarrollo de Windows, fue evidente para
Microsoft que un lenguaje de programacin basado en texto no
funcionara bien en los nuevos soportes, y desarroll VISUAL
BASIC, basado en BASIC, pero esencialmente grfico, y que
adems, por ser interpretado al tiempo que compilado, permite
ejecutar el programa mientras se escribe, y no slo luego de su
compilacin final, lo que es de gran ayuda para los principiantes,
que pueden percatarse as inmediatamente de sus errores, y
corregirlos.
VISUAL BASIC crea programas para Windows. Por eso cuando se
aprende, tambin se aprender a automatizar programas2
5
4
Diseo de pantallas
Las pantallas (una o ms) se disean como
diapositivas de PP, empleando las
posibilidades de autoformas, ilustraciones,
colores, y otros.
Animacin de diapositivas
Hipervnculos
Tema 1:
La interface de programacin
10
11
12
Control
de texto
(TextBo
x)
Control
de
etiquet
a
(Label)
Casilla
de
verificaci
n
(CheckBo
x)
Botn
de
opcin
(Option
Button)
Control
de
nmero
(SpinButt
on)
Botn
de
comand
o
(Comma
nd
Button)
Control
de
imagen
(Image)
Barra de
desplazami
ento
(ScrollBar)
Muestra o
modifica
las
propiedad
es del
control
selecciona
Edita el
do
cdigo de
VBA para
un control
Despliega una
lista con ms
controles
disponibles
Cuadro
Cuadr
Botn de
combina
o de
alternar
do
lista
(ToggleBut
(ComboB (ListB
ton)
Estos son los
ox)tipos de
ox)controles ms usados en VBA, con
13
Instalacin de controles
Para instalar un control en la
interface de programacin se
har clic izquierdo en su cono
del cuadro de controles (1), y
luego, con el cursor en forma
de cruz (2) y manteniendo
presionado el botn izquierdo
del mouse, se le arrastrar un
poco hacia la derecha y hacia
abajo en el sitio donde ir en la
interface (diapositiva en
diseo), para que alcance un
tamao inicial adecuado.
Entonces se le podr editar
(cambiarlo de lugar, forma,
tamao y otros atributos).
Finalmente se le configurar
abriendo el cuadro
Propiedades, con clic en ese
botn (3) mientras el control
3
2
+
4
14
Edicin de cdigos
de programacin
Esta
Esta ventana
ventana
muestra
Las lneas de cdigo se
muestra
todos los
escriben entre el
todos los
procedimient
encabezamiento:
controles
os de
Private Sub + nombre
instalados
eventos que
del control +
en la
pueden
procedimiento, y el
interface, en
usarse con
Como
se ve,
esta pginaorden
se dispone la cada control.
final:
Enden
Sub
programacin para el control
Label1, con Por ejemplo:
alfabtico.
el procedimiento Click (que aparece
Click,
primero, por defecto). Para cambiarlo, hay
Dblclik,
que buscar otras opciones en esta
MouseDown,
Para salir del editor
de cdigos y regresar a la
ventana
MouseUp,
diapositiva en diseo, se har clic en este botn.
MouseMove.. 17
Las lneas de
instrucciones
derivadas de
una principal
deben tener
sangra para
definir la
QBColor(7)
QBColor(13)
QBColor(2)
QBColor(8)
QBColor(14)
QBColor(3)
QBColor(9)
QBColor(15)
QBColor(4)
QBColor(10)
QBColor(5)
QBColor(11)
programacin
para dar, en
modo de
ejecucin, un
color a un
control, o
cambiar el que
se le dio
inicialmente en
19
Tema 2:
Control de
Imagen
Image (img)
Con estos 10 controles
y mucha creatividad,
resolveremos todos los
problemas. Veamos
ahora los 4 primeros
Etiqueta
Label (lbl)
Botn de
Comando
CommandBut
ton
(cmd)
Barra de
Desplazamie
nto ScrollBar
(scr)
Botn de
Opcin
OptionButton
(opt)
Casilla de
Verificacin
CheckBox
(chk)
Control de
Nmero
SpinButton
(spn)
Cuadro de
Lista ListBox
(lst)
Formulario
de Usuario
UserForm
(frm)
Caja de Texto
TextBox (txt)
20
(Haga clic en un cuadro para ir al contenido)
Label
SU CUADRO DE PROPIEDADES
Nombre que se da al control. Conviene escribir la
funcin que tendr, precedida por su abreviatura,
para identificarlo en el cdigo (ej: lblMensaje). Se
inicia
con mayscula
y nunca
lleva
Define
si el control
asumir
un acento
tamaoni .
automticamente
o no. se abre la
Color de fondo
(con clic en la pestaa
paleta tendr
de colores).
Define si el control
su fondo opaco o
Color del borde (solo
si el estilo del borde es Single).
transparente.
Si el control mostrar un borde (Single) o ninguno
(None).
Mensaje o etiqueta, que
mostrar inicialmente el
control. (True) o no (False).
Si el control estar disponible
Fuente tipogrfica que se utilizar para el Caption
Color de la fuente (etiqueta).
(con el que se ver el texto).
Junto a Width establece las dimensiones del control
(si se desea que varios controles sean de igual
tamao se debe anotar a todos las mismas cifras en
propiedades:
Height
y Width
(ancho).
Si las
quiere
emplear un
cono(alto)
o imagen
como
puntero
Forma que asumir el
del
puntero
mouse.del mouse al tocar el
Incorpora una imagen control.
al control, buscndola con un
Establece la posicin
de la imagen en el control.
explorador.
Define el efecto especial que tendr el control en la
presentacin.
Establece la alineacin
del mensaje en el control.
Distancia del control al borde izquierdo y al superior
deser
la interface.
Define si el control
visible o no inicialmente.
Las fuentes Webdings y Windings
incorporan diversas ilustraciones y
logotipos como etiqueta a los controles,
21
uente especial
( ,
, <
<
<
WEBDING
/
/
S
A
|| 8 8&&
A
A
9 9%% }
}
a
1 1 101 $ $
a
a
0
{
22
#
{
B
#
33
B
B
[
44
[
bb
! !
b
55
]
C
? ? + + ]
C
C
66
C
=
.
.
- - c
77 =
c
* * _ _ c
FFk k P Pu u
f
f
L L p pV V
G
G
W W
l
l
Q
Q
MM q
m m q
H
H
N
N
hhn
I I
i
i
v v
w
w
R RX X
r
x
r
x
S SY Y
s
y
s
y
uente especial
WINGDING
S
||
/ /
8 8 && }
9 9 %% {
10 0 $ $ [
2 2
3 3
44
5 5 ? ? + + :
6 6 =
. .
=
77
* *
) )
;
>
<
<
} A
A
{
aa
[ a
B
] B
- B
b b
F F k
f
G
G
P P U u
f L L p p V V
l
l Q Q v
MM q
qW
g g m
W
R R
H
m
w
r r
H
w
N
S S
hh N
X
_ b
s
C
X
I I n
b
s
C
n
:
x x
i
i
C
c
T T Y Y
; c
C
J J
t t y y
> D
c
j j
D
uente especial
<
WINGDINGS
<
/
/
2
|| 8 8 && } } A A
A
9 9 %% { { aa
a
1 1 10 0 $ $ [ [ B B
a
2 2 # # ] ] b b
B
3 3 - - C
B C
b c
44 ! ! _ _ c
b
5 5 ? ? + + : : D D
C
d
6 6 =
. .
; ; d
C
=
E
77
* * > > E
c
) )
F F k
f
G
G
P P U u
L L p p V V
l
l Q Q v
MM q
qW
g g m
W
R R
H
m
w
r r
H
w
N
S S
hh N
X
s
X
I I n
s
n
x x
i i
T T Y Y
J J
t t y y
j j
uente especial
<
WINGDINGS
<
/
/
3
|| 8 8 && } } A A
A
9 9 %% { { aa
a
1 1 10 0 $ $ [ [ B B
a
2 2 # # ] ] b b
B
3 3 - - C
B C
b c
44 ! ! _ _ c
b
5 5 ? ? + + : : D D
C
d
6 6 =
. .
; ; d
C
=
E
77
* * > > E
c
) )
F F k
P P U u
L L p p V V
l Q Q v
MM q
qW
W
H H m
R R
w
hh m
r r
w
N
I I
S S
N
X
i i
s
X
n
s
J J n
x x
j j T T Y Y
KK t t y y
Nombre del
control.Propiedad=Proposicin
Font
Arial
Caption
Carlos
BackColor QBColor(1
PUNTO OBLIGATORIO
SIGNO0)
= OBLIGATORI
29
Image
SU CUADRO DE PROPIEDADES
30
lbum digital
EJERCICIO 9.
Se
trata
de
una
presentacin
interactiva para mostrar elementos
grficos, como pueden ser fotos
familiares o paisajsticas. Este ejemplo
est
diseado
dos Label
variosadecuado.
a) Busque
una con
ilustracin
comoy marco
Image. Proceda as:
b) Site un lbl en cada cara, declarndoles BackStyle Transparent,
y BorderStyle None. En lbl1 declare una fuente (Font) de forma
y tamao adecuados para mensajes llamativos.
c) Escriba en Caption del lbl1 la siguiente instruccin: Haga clic
aqu para abrir el lbum. Despus clic en cada foto para pasar a
la siguiente. Para cerrar, haga dobleclic aqu.
d) Site un control img por cada foto que mostrar, declare sus
propiedades e instale las fotografas. Incluya tambin un img
Panel
de ocultamiento, sin ilustracin y con BackColor igual
al del
de
lbl2 . El panel se oculta con Visible False.
imgen
31
g) Finalmente,
para cerrar el
lbum digital
con dobleclic en
lbl1:
If: si
Then: entonces
ElseIf: pero si
ms adelante)
(Ver
32
CommandButton
SU CUADRO DE PROPIEDADES
TV educativa
EJERCICIO 10:
34
g) El
(Animales) ser, con clic:
i) El cdigo a escribir para el lbl1 (pantalla del TV) ser, con clic:
Aqu la sentencia
condicional IfThen
ElseIf se complementa
con operadores lgicos,
que significan:
And: y
Or: o
36
TextBox
SU CUADRO DE PROPIEDADES
EJERCICIO
11:
b)Escribiendo
directamente textos cortos en el TextBox en modo
de ejecucin.
a) Instale un TextBox con las propiedades ms usuales, y abra la
c)Copiando
de de
cualquier
tamao y pegndolos en el
diapositiva textos
en modo
ejecucin.
TextBox
en modo
de ejecucin.
b) Conoce
esta accin
en PowerPoint? Es muy til para este caso:
39
COMODINES LIKE:
Ya conocimos el operador lgico And (diapositiva 36). En el cdigo
del anterior ejercicio 12 el uso del operador lgico Or permite
escribir el nombre del color indistintamente con minscula o
mayscula, y el comodn Like * sustituyendo la primera letra de
una palabra permite que esta pueda escribirse indistintamente con
minscula o OPERADORES
mayscula. Otro
comodn
que
puede emplearse es Like
LGICOS
Y DE
COMPARACIN:
# para sustituir cualquier nmero (solo o en una cadena
El evento Change otorga a los TextBox ilimitadas posibilidades,
numrica).
pues, cualquier mensaje que se escriba desencadenar una gran
diversidad de acciones. Un evento Change puede, adems, hacer
aparecer nuevos mensajes en otros TextBox, generando secuencias
de acciones para resolver cualquier problema de interactividad. Es
como darle instrucciones escritas a su computadora para que
ejecute lo que Ud. desea. Esto se incrementa empleando sentencias
condicionales como las ya vistas (IfThenElseIf, IfThenElse:),
Los operadores de comparacin permiten comparar un valor (o
con operadores lgicos And/Or, as como tambin con operadores de
expresin) con otro de tipo semejante, estableciendo si son iguales
comparacin
o diferentes entre s, o si uno es mayor o menor que otro. Son 6 los
Todos los operadores
operadores de este tipo a emplear
en VBA:
Comparacin
de comparacin
=
Igual que (resultado Verdadero)
entre
devuelven como
<> Desigual que (resultado Falso)
nmeros o
resultado: Verdadero
Comparactextos
>
Mayor que (ej.: 6>2)
(True) o Falso (False).
in entre
<
Menor que (ej.: 2<6)
Con estos operadores
>= Mayor o igual que valores
no se pueden usar
<= Menor o igual que numrico
comodines Like, pues,
s ejemplo:
40
Veamos el siguiente
Evaluador virtual
EJERCICIO 13:
a) Busque ilustracin como marco adecuado.
b) Site dosTextBox: txt1, txt2.
c) Site dos cmd, con Caption:
cmd1=Preguntas
cmd2=Evaluacin
d) Site un lbl1 pequeo, auxiliar, que luego
se ocultar con VisibleFalse.
e) Escriba el siguiente cdigo para el cmd1 (las preguntas son
solo un ejemplo):
41
La instruccin SelText es
fundamental, y tambin para
EJERCICIO 14:
borrar el texto que se traslada.
Si no quiere borrarlo, no
Para pasar texto de un textbox a otro:
utilice.
a) Instale dos txt con sus propiedades.
EJERCICIO 15:
Para crear un generador aleatorio de acciones por variacin
numrica constante:
a) Instale un txt con sus propiedades y escrbale el siguiente cdigo
(tambin se puede hacer ponindole el cdigo a un cmd, que con
Click lo ejecute en el txt):
EJERCICIO 16:
a) Instale un txt1 con sus propiedades y escrbale el cdigo del
ejercicio 15, pero solo para la hora (Time), y con tamao
suficiente para ver todo el texto: hora-minutos-segundos
(00.00.00).
b) Instale un txt2 (auxiliar) de tamao pequeo, y finalmente
ocltelo con VisibleFalse.
Se usa de
el comodn
Like,
en sus
# (para
c) Para este generador aleatorio
acciones
escriba
eltipos
siguiente
nmeros) y * (para caracteres de letras y
cdigo:
signos) .
Con # se sustituyen los nmero del formato
HH.MM.SS. Ejemplo: 12.25.18 p.m. Solo se deja
el ltimo nmero de los segundos, por lo que
se escriben 5 signos #.
Con * se sustituyen los puntos entre los
nmeros, as como letras y puntos de
a.m./p.m., por lo que se escriben 6 signos *
Como ltimo nmero de los segundos en cada
lnea de instrucciones se escribe un nmero
consecutivo del 1 al 0, lo que abarca desde
cada valor terminado en 1 (01,11,21,31,41,51)
Con el procedimiento Change,
todos
los cambios
deen
nmeros
en el
hasta
cada valor
terminado
0
txt auxiliar generarn, al margen
de la voluntad del usuario, hasta
(10,20,30,40,50,60).
10 acciones diferentes en otros
controles
(lbl,sentencia
img, cmd,
txt)
Cada nmero
en una
condicional
(del
instalados en la presentacin,
lasgenera
que se
1 al 0)
unejecutarn
nmero consecutivo (del 1 al
44
10) en el txt auxiliar.
Tema 3:
Control de
Imagen
Image (img)
Con estos 10 controles
y mucha creatividad,
resolveremos todos los
problemas. Veamos
ahora los 6 restantes
Etiqueta
Label (lbl)
Botn de
Comando
CommandBut
ton
(cmd)
Barra de
Desplazamie
nto ScrollBar
(scr)
Botn de
Opcin
OptionButton
(opt)
Casilla de
Verificacin
CheckBox
(chk)
Control de
Nmero
SpinButton
(spn)
Cuadro de
Lista ListBox
(lst)
Formulario
de Usuario
UserForm
(frm)
Caja de Texto
TextBox (txt)
45
(Haga clic en un cuadro para ir al contenido)
ScrollBar
SU CUADRO DE PROPIEDADES
46
47
OptionButton
SU CUADRO DE PROPIEDADES
48
CheckBox
SU CUADRO DE PROPIEDADES
50
El uso de
CheckButton
es muy
valioso para
elaborar
sistemas de
comprobacin
de
conocimiento
s, al permitir
la seleccin
de diversas
respuestas
dentro de una
lista de
alternativas.51
SpinButton
SU CUADRO DE PROPIEDADES
52
53
ListBox
SU CUADRO DE PROPIEDADES
54
UserForm
Un formulario ya
existente y guardado
se busca
aqu
Con clic
en
este botn se
inserta un
Formulario de
Usuario
nuevo en el
rea de
56
En el cuadro de
Herramientas
estn los
controles ya
conocidos (y
otros que no
usaremos en
VBA):
Label
TextBox
ListBox
CheckBox
OptionButton
CommandButt
on
ScrollBar
SpinButton
Image
Cursor para
58
59
Tema 4:
60
condicin
tiene la
control.Propiedad=Proposicin
estructura:
Como ya se conoce, puede combinarse con
61
SENTENCIA SELECT-CASE:
a) Permite ejecutar una de entre varias acciones en funcin del valor
de una expresin. Es una alternativa a IfThenElse, pero
comparando valores numricos, para lo cual se recorren los
"Case" en la estructura, buscando el que coincida con uno de los
valores.
La condicin
Presenta
b) Cuando
sedos
encuentra
la tiene
primera
coincidencia
se ejecuta
el bloque
Select
Case
Nombre
del
inicial
devariantes:
instrucciones correspondiente
y se cierra la estructura Selectla estructura: control.Propiedad
SELECT coincidencia
CASE IS:
Case. Si no se encuentra
con algn valor, se ejecuta
Luego de
escribir
el bloque de instrucciones
Case
Else.la condicin inicial se
escribirn los Case
(casos condicionales) , que en esta variante
estn formados
por: (Case Is)(operador de comparacin)
(valor numrico).
SELECT CASE TO:
Luego se escribe el bloque de instrucciones
Luego de escribir la condicin inicial se
a ejecutar. Siempre
escribirn los Case,
se termina con End Select en ambas
que en esta variante estn formados por: Case
variantes.
(nmero
menor) To (nmero mayor). Luego se escribe
decontrol. Tambin puede utilizarse un
62
(En los ejemplos se usel
unbloque
txt como
UNCIN MSGBOX:
Recuerda
haber visto
esto en
aplicacione
s de
Windows?
Cmo se64
mensaje,
diseo+botones,
El elemento en turno titulo
dentro de la lista se ver en negrita (Prompt,
primeramente). Despus del parntesis escriba entre el mensaje
que aparecer en el MsgBox. Escriba una coma ,
y se abrir una
lista de opciones para el diseo
65
La funcin
terminada
quedar
Termine de escribir el cdigo empleando una sentencia
condicional
finalmente
as
simple If
UNCIN INPUTBOX:
EJERCICIO 26:
Con el recurso de los TextBox, los ListBox, y ahora los InputBox,
podr Ud. construir su propia BASE DE DATOS. El siguiente
producto es muy elemental, pero lo que se pretende es que
aprenda a conocer las posibilidades que brinda la combinacin de
estas herramientas para la realizacin de un proyecto sencillo y
prctico.
a) Instale un TextBox, 2 ListBox y 3 CommandButton, con sus
propiedades habituales.
b) Al cmd1 pngale ENTRADA DE DATOS como Caption y escrbale
el cdigo:
68
e) Finalmente,
estos cdigos
para cmd2 y
cmd3 permitirn
dejar vacos los
ListBox 1 y 2
EJERCICIO
27:sea
cuando
Ahora
veamos cmo COMBINAR MSGBOX E INPUTBOX para decidir
necesario:
sobre la entrada o no de informacin en una base de datos:
a) Instale un TextBox y un CommandButton, con sus propiedades
habituales.
b) Escriba el siguiente cdigo al cmd1:
Nombre = ValorAsignado
EJERCICIO 30:
Quiere hacer esta CALCULADORA? Ver
cmo.
Necesita:
2 TextBox
a) Declare a estos controles
las propiedades
6
CommandButton
habituales. Cuide que en los txt el tamao
de Font sea ptimo, que TextAligment sea
Right, as como los BackColor atractivos.
b) El apagado de la calculadora, con DblClick
en el cmd On/Off, borra todo en los txt,
c) El encendido con
pone los BackColor en gris, y cierra
Click en ese botn
candados en todos los controles (Locked
abre candados en
True) para evitar que puedan accionarse
los txt (Locked
por error.
False), borra todo en
ellos y les pone los
colores de fondo
previstos .
d) Ahora podr actuar
segn se indica en
el ejemplo: site el
cursor en el txt1
(azul) y escriba un
nmero. Con clic lo
pasar al txt2
74
76
Tema 5:
Desarrollo de Proyectos
Ingeniera de Software
Algunos
consejos
CommandButton1_Click()
Call doPro1
(seguidamente el resto del
81
Conocimientos
Imaginacin
FACTORES
APTITUDINAL Creatividad
ES (qu
Concentracin
poseo?)
Capacidad de
anlisis
Voluntad
FACTORES
Decisin
ACTITUDIN
Constancia
ALES
(cmo
Ecuanimida
acto?)
d
Autocrtica
Si me
pregunta:
cul es el
mejor
lenguaje de
programacin
? Mi
respuesta es:
el que ms
Ud. domine
para resolver
sus intereses
y
necesidades
83
PRESENTACIONES
CURS
INTERACTIVAS
O
Gracias
por darme la
oportunidad de
compartir con
Ud. mis
conocimientos
!
2/19/15