Está en la página 1de 85

PRESENTACIONES

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)

Quito Ecuador (2014)

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

Antes de Visual Basic, escribir un programa basado en texto era


muy tedioso, pues haba que disear primero en papel las
interfaces. Con un lenguaje grfico se puede acometer
directamente esta tarea con las herramientas que brinda. En el
caso de VBA las interfaces sern las correspondientes a la
aplicacin sobre la cual se trabaje (Word, Access, Excel). En este
caso se trabajar sobre PowerPoint, y las interfaces sern
simplemente diapositivas electrnicas, las mismas que cualquier
persona acostumbra a realizar para mltiples propsitos, por lo
que ya se tendr resuelto el 40% del problema.
Como se sabe, una diapositiva es cada una de las pantallas que
conforman una presentacin de PowerPoint, en que se integran
textos, grficos, ilustraciones, efectos de animacin y sonoros,
hipervnculos, as como, a partir de ahora, los controles y cdigos
de VBA que van a otorgarle interactividad. Las diapositivas se
realizan en modo de diseo, y finalmente se exponen en modo de
ejecucin, en el monitor de la computadora o en una pantalla de
proyeccin. En realidad, lo que se har con VBA es crear macros
para PP. Una macro es un conjunto de acciones, o programa, que
se elabora para automatizar varias tareas en una aplicacin. Pero,
existir un pequeo problema: las macros se utilizan comnmente
para introducir virus, razn por la cual los sistemas cuentan con
una proteccin antimacro que las deshabilita cuando se detectan
3

Haga clic en el botn de Office (1), y en el cuadro que se


abrir (2) haga clic en Opciones de PowerPoint

Abra el Centro de confianza (1), y en la


ventana que aparecer haga clic en
Configuracin del Centro de confianza (2).
Seleccione la pestaa Configuracin de
Haga clic en Centro de confianza.
macros (3), donde de todas las opciones
escoger Deshabilitar todas las macros con
notificacin (4). Luego haga clic en Aceptar

5
4

Una vez hecho


lo
anteriormente
explicado,
cuando se abra
el trabajo en
modo de
ejecucin
(pantalla
completa) lo
primero que
aparecer ser
un cuadro con
la Alerta de
seguridad, que
permite
habilitar el
contenido (1),
por tratarse de
macros de
confianza

Para hacer una


presentacin
interactiva de
PowerPoint se
cuenta con los
siguientes
recursos...

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

Los grficos y textos pueden ser animados de


diversos modos, dinamizando la presentacin.

Hipervnculos

Este recurso permite pasar de una pantalla a


otra, segn se requiera en una presentacin
con varias diapositivas.

rogramacin Visual Basic para Aplicaciones (VB


Los controles de este lenguaje de programacin permiten realizar
mltiples acciones (macros), que satisfacen todas las necesidades
de funcionamiento de la presentacin interactiva.
En este curso se da por hecho que Ud. domina los tres primeros
recursos, y solo requiere el conocimiento de VBA. As que abra
PowerPoint y ejecute prcticamente las instrucciones! Lo primero:7

Tema 1:

La interface de programacin

Esta es la caracterstica habitual en el modo de diseo


de PowerPoint. Obsrvese que en la cinta de opciones
aparecen las pestaas: Inicio, Insertar, Diseo,

Haga clic en el botn de Office (1), y en el cuadro que se


abrir (2) haga clic en el botn Opciones de

En el cuadro que se abrir seleccione con clic la casilla


Mostrar ficha Programador en la cinta de opciones, que
generalmente viene desmarcada, y luego haga clic en

10

En la cinta de opciones aparecer una nueva ficha,


Programador, que es la requerida para poder trabajar
con Visual Basic para Aplicaciones (VBA) en

11

Con clic en la ficha Programador se abrir la


correspondiente barra de herramientas,
donde lo esencial ser aprender a trabajar con
los diferentes controles del lenguaje de
programacin VBA

Con clic en Seguridad de macros, una vez habilitadas


las herramientas de la ficha Programador, tambin
podr abrir el Centro de confianza, para proceder

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

los cuales se pueden resolver todas las necesidades


bsicas de programacin con este lenguaje. Como se
aprecia, el botn Propiedades aparece opaco, y solo se

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

control Image del


ejemplo forman una
matriz de controles,
pudiendo declararse al
mismo tiempo sus
propiedades comunes. El
cuadro Propiedades se
abri inicialmente para el
Label, pero luego se hace
comn a los dems
controles.

La instalacin de varios controles de un mismo tipo se


facilita si luego de instalar y declarar las propiedades al
primero Ud. simplemente lo copia y lo pega cuantas veces
haga falta. Todas las copias sern exactamente iguales al
control inicial. Lo que tendr que hacer despus es dar a
cada control un nombre distintivo. Tambin podr ahorrar
tiempo y trabajo declarando de una sola vez a varios
controles -de igual o diferente tipo- algunas propiedades
que les sean comunes (como: Caption, BackColor, ForeColor,
BackStyle, BorderStyle, BorderColor, TextAlign, Enabled,
Visible), si los selecciona a todos con clics izquierdos del
mouse mientras mantiene presionada la tecla Shift,
conformando de tal modo una matriz de controles, pero para
15

Edicin de cdigos
de programacin

Luego de instalar un control


en la interface (diapositiva en
diseo), y de declararle sus
propiedades, se podr
comenzar la introduccin de
cdigos de programacin
para establecer su
funcionamiento. Para esto,
con el control seleccionado
(rodeado de puntos
dimensionales), se har clic
en el botn Ver cdigo (1), o
en el botn Visual Basic (2), o
dobleclic en el mismo control
(3), que es el mtodo ms
usual, con lo que se abrir el
editor de cdigos mostrando
el evento principal (por
defecto) del control. El cursor

Como se ve, con el cuadro


de Propiedades se
otorgaron al control Label1:
un BackColor (amarillo), un
BorderStyle (Single, o
sencillo), y un Caption o
etiqueta (Prueba), con Arial
18 negrita como Font 16

gina del Editor de Cdigos en VBA

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

ractersticas de la edicin de cdigos


A cada
control
corresponde
un bloque de
instrucciones
. Los bloques
se separan
entre s
automticam
ente por un
lnea
Relacin de
diapositivas
que forman
la
presentacin
. Con clic en
un cono se

Las lneas de
instrucciones
derivadas de
una principal
deben tener
sangra para
definir la

Cada bloque de instrucciones debe


ser acompaado por una lnea de
texto que explique la funcin que
tiene ese cdigo, lo que ayuda a
comprender el programa que se
elabora. La lnea es precedida por
18
una comilla simple ( ), para que no

En la escritura de cdigos de programacin se emplean


abreviaturas para identificar los controles. Estas son las
cbo ComboBox
frm
mnu Men
msFormulario
usadas
chk CheckBox
grd Grid
opt OptionButton
cmd CommandButton
hsb HScrollBar
pic PictureBox
dir DirectoryList
img Image
shp Shape
drv DriverListBox
lbl Label
tmr Timer
fil FileListBox
lin Line
txt TextBox
fra Frame
lst ListBox
vsb VScrollBar
Tambin se emplean los siguientes cdigos para asignar
colores a los controles:
Se escriben en
QBColor(12)
QBColor(0)
QBColor(6)
las lneas de
QBColor(1)

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:

Cuatro controles bsicos

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

LABEL ES EL CONTROL MS VERSTIL, PUES PERMITE INSTALAR


TANTO TEXTOS COMO IMGENES. HAGA LAS SIGUIENTES
PRCTICAS:
EJERCICIO 1.
a) Instale un lbl en su interface.
b) Declrele propiedades, mediante el cuadro con ese nombre.
c) Seleccione Webdings o Wingdings en la propiedad Font.
d) Escriba en la propiedad Caption cualquier letra o nmero. Qu
aparece en el lbl?
e) Con TextAlign site la imagen al centro, izquierda o derecha del
lbl.
f) Dele color al lbl con la propiedad BackColor, teniendo a BackStyle
Opaque.
g) Dele color a la imagen que instal en el lbl, con la propiedad
ForeColor.
h) Hgale un marco al lbl con BorderStyleSingle, y dele color con
BorderColor.
EJERCICIO 2.
i) Borre la letra o nmero que escribi en Caption, y escriba all su
nombre.
j) En Font seleccione otra fuente (por ejemplo: Arial) y dele el
Ejemplo
tamao de
queresultados:
desee.
EJERCICIO 3.
1
2
3
k) Borre la letra o nmero
que escribi
en Caption.
26
l) Seleccione Picture en el cuadro Propiedades.

Hemos instalado un lbl en la interface y declarado sus


propiedades, pero an no estamos programando. Programar
significa poder modificar las caractersticas y funciones de un
control en modo de ejecucin, mediante instrucciones escritas en
el editor de cdigos.
EJERCICIO
4.
HAGA LAS SIGUIENTES PRCTICAS (consulte la diapositiva 17):
a) Abra el editor de cdigos para el lbl1.
b) Escriba la siguiente instruccin:
c) Regrese a la diapositiva en diseo y abra su presentacin en
pantalla.
d) Haga clic en el lbl1. Qu ocurri? Cambi la fuente y ahora lo
escrito se ve en Arial.
EJERCICIO 5.
e) Abra el editor de cdigos para el lbl2.
f) Escriba la siguiente instruccin:
g) Regrese a la diapositiva en diseo y abra su presentacin en
pantalla.
h) Haga clic en el lbl2. Qu ocurri? El texto se cambi por lo que
escribi en el cdigo.
NOTA: Para introducir un texto HAY QUE PONERLO ENTRE
COMILLAS DOBLES ( )
EJERCICIO 6.
a) Abra el editor de cdigos para el lbl1.
En estos casos la accin es Click, que aparece por defecto,
b) Escriba la siguiente instruccin:
pero puede cambiarla por otras que se muestran en la
27
c) Regrese a la diapositiva en diseo y abra su presentacin en

Para todos los controles, la redaccin de lneas de instrucciones


tiene la siguiente SINTAXIS BSICA:

Nombre del
control.Propiedad=Proposicin

Font
Arial
Caption
Carlos
BackColor QBColor(1

PUNTO OBLIGATORIO
SIGNO0)
= OBLIGATORI

Todo lo que se muestre en un lbl podr ser borrado o cambiado en


modo de ejecucin mediante cdigo. Veamos con el ejemplo del
Ejercicio 1:
EJERCICIO 7.
a) Con estos dos bloques de instrucciones para el lbl1 se logra que
con Click aparezca la
imagen de la letra I en Webdings, y el fondo sea verde (10); y
con DblClick desaparezca
la imagen y el fondo sea rojo (12).
b) Observe que para borrar un texto se
deja vaco el espacio entre las comillas
dobles ( ).
c) Si lo que quiere es cambiar la imagen
haciendo DblClick, se anotar otra letra
28
Label1
Label2

Una imagen instalada en un lbl durante el diseo (diapositiva 26,


Ejercicio 3) puede ser cambiada por otra en modo de ejecucin
mediante cdigo, para lo cual en la interface hay que montar un
panel de imgenes con las que vayan a ser utilizadas para el
cambio. El panel puede hacerse con Label (lbl) o controles de
Image (img). Veamos cmo:
EJERCICIO 8.
a) Instale en su interface un lbl (tambin pueden usarse controles
tipo img, el que ser
estudiado seguidamente) por cada imagen que conformar el
panel.
b) Seleccione Picture en el cuadro Propiedades de cada lbl del
panel, e instlele
buscadas
con el explorador.
e) Lailustraciones
accin de pasar
ilustraciones
del panel de imgenes a
c) Tendremos
varios
lbl a los que inicialmente se les declarar
los lbl puede
realizarse:
(en el cuadro Propiedades) como Caption una letra
instalar
) en
Confuente
Click yespecial,
DblClicklo
enque
cada
lbl parauna ilustracin
d) Y otros
lbl (oimgenes
img) quedel
forman
el panel de imgenes.
pasarle
panel.
En este caso los controles del panel pueden ocultarse finalmente,
declarndoles la propiedad Visible False, en el cuadro Propiedades.
As funcionarn, pero no se vern.

) Con Click en cada imagen del panel


En este caso los controles del panel deben tener la

29

Image
SU CUADRO DE PROPIEDADES

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual modo.

Use ilustraciones en formato JPG, pues ocupan


menos memoria.
Tamao de la ilustracin. Con Stretch se ajusta al
control; es lo ms conveniente para que la
ilustracin ocupe completamente el espacio del
control. Con Clip se muestra en su tamao
original.

No todas las propiedades se explican, slo las


ms frecuentes. Las dems podr irlas
conociendo mediante la prctica.

30

SE EMPLEA PREFERENTEMENTE PARA TRABAJAR CON IMGENES,


PUES PERMITE PROPIEDADES QUE OTROS CONTROLES NO
POSEEN.
En el EJERCICIO 8 vimos su uso como panel de imgenes.
HAGA LA SIGUIENTE PRCTICA:

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

e) El cdigo a escribir para el lbl1 ser, con clic:

f) El cdigo a escribir para el lbl2 ser, con clic:

La sentencia condicional IfThenElseIf


empleada significa:

g) Finalmente,
para cerrar el
lbum digital
con dobleclic en
lbl1:

If: si

Then: entonces

ElseIf: pero si
ms adelante)

Se reinstalan en lbl1 las instrucciones inicialmente


escritas en Caption, y se instala en lbl2 la img de

(Ver

32

CommandButton
SU CUADRO DE PROPIEDADES

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual modo.

Si el control estar abierto (False) o cerrado (True).


Coloca como puntero del mouse una imagen tomada
del explorador.

Si el control se activa con Click (toma el foco del


programa, o no).

Como se ve, puede contener tanto texto


(Caption) como imgenes (Picture), pero en
ambos casos se usan solo para identificar al
control (con su nombre y/o un logotipo).
No todas las propiedades se explican, slo las
ms frecuentes. Las dems podr irlas
33
conociendo mediante la prctica.

COMO INDICA SU NOMBRE, SE EMPLEA COMO BOTN DE MANDO,


PARA ENVIAR INSTRUCCIONES A OTROS CONTROLES DE
CUALQUIER TIPO.
En el EJERCICIO 8 vimos dos formas de pasar imgenes de un
panel conformado por img a uno o varios lbl. Ahora veamos cmo
hacerlo con cmd. HAGA LA SIGUIENTE PRCTICA:

TV educativa

EJERCICIO 10:

a) Busque una ilustracin como marco adecuado.


b) Site un lbl1, declarndole BackStyle Opaque
y seleccione gris como BackColor.
c) Site 3 cmd y pngales en Caption:
cmd2=Animales
cmd1=Control
cmd3=Frutos
(puede poner todas las categoras que quiera, con
un cmd para cada una; en este ejemplo usamos 2)

d) Site un lbl2 pequeo como Label auxiliar,


con Font Arial y ocltelo con VisibleFalse.
e) Site un control img por cada ilustracin que mostrar,

34

El panel de imgenes puede contener gran cantidad de controles


img con fotos, los que podrn apilarse unos sobre otros para ocupar
un mnimo espacio en la diapositiva, y luego ser ocultados con
VisibleFalse.
f) El cdigo a escribir para el cmd1 (Control)
ser, con clic:

En este caso la sentencia IfThenElseIf se simplifica


como If..ThenElse: por ser una sola la nueva
condicin aqueescribir
se incorpora
al cdigo.
cdigo
para
el cmd2

g) El
(Animales) ser, con clic:

h) El cdigo a escribir para el cmd3 (Frutos)


ser, con clic:
35

i) El cdigo a escribir para el lbl1 (pantalla del TV) ser, con clic:

El lbl2 (auxiliar) permite el


funcionamiento del operador lgico And.
Como, ve en la primera parte del bloque
de instrucciones, la condicin bsica es
que el lbl2 muestre el nmero 1, y en la
segunda parte, que muestre el nmero 2.
Si se emplean ms categoras, el cmd de
cada una instalar un nuevo nmero en

Aqu la sentencia
condicional IfThen
ElseIf se complementa
con operadores lgicos,
que significan:
And: y
Or: o

36

TextBox

SU CUADRO DE PROPIEDADES

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual modo.

Activa o desactiva la accin de la tecla Enter,


indispensable para incorporar grandes contenidos al
Acta como
un candado,
cuando
TextBox.
Convieney que
sea est
True.cerrado
(True) impide que pueda modificarse en modo de
ejecucin elelcontenido
del
TextBox.
Permite establecer
mximo de
letras
a escribir en
el TextBox.
Cuando su valor es 0 significa que tal
cantidadmltiples
de letraslneas
es ilimitada.
Permite incorporar
al texto. Requiere
EnterKeyBehavoirTrue para funcionar. Conviene que
Instala a voluntadsea
barras
de desplazamiento
True.
Activa o desactiva
la accin de la tecla Tabulador.
(vertical/horizontal).
Con estas dos propiedades se incorpora texto al
control y se alinea (izquierda, centro, derecha).
Permite activar (True) o desactivar (False) el control
mediante cdigo.
No todas las propiedades se explican, slo las
37
ms frecuentes. Las dems podr irlas

TEXTBOX es uno de los controles ms tiles en la programacin


VBA. Su principal recurso es que permite editar su contenido en
modo de ejecucin.
PARA INCORPORAR TEXTO A UN TEXTBOX, EXISTEN LOS SIGUIENTES
MTODOS:
a)Escribiendo directamente textos cortos en Text (Propiedades),
en modo de diseo.

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:

con clic cmo:


derecho sobre la vista en pantalla abra un cuadro de
Veamos
opciones, haga clic en Pantalla y luego en Pasar de un programa
a otro. Se mostrar abajo la barra Inicio. Abra el Men principal y
busque con el explorador el documento que desee (por ej.: un
block de notas). bralo y copie (total o parcialmente) con Ctrl+C.
Finalmente cierre todo y regrese a la presentacin en pantalla

c) Site el cursor del mouse en el extremo superior izquierdo de la


diapositiva y active Pegar con Alt+V. Qu ocurri? El texto
aparecer en pantalla, con una barra de desplazamiento vertical
para poder deslizarlo hasta su final.
d) Ahora en modo de ejecucin podr editar el documento (eliminar
partes, agregar otras, copiar y pegar). Si no quiere que el texto
38

Con un TextBox se pueden enviar


instrucciones a s mismo o a otros controles.
Una de sus principales ventajas es el evento
Change, que le permite ejecutar acciones al
recibir cambios en modo de ejecucin. La
ventana Procedimientos (ver diapositiva 17)
EJERCICIO
12: muestra los eventos que pueden
del TextBox
usarse con este control (no existe Click):
a)Instale un txt1 (con las propiedades usuales). La indicacin a
cumplir es:
Escriba un color y lo ver en la caja de texto. Borre lo
escrito y volver a ser blanca.
b)Escriba el siguiente cdigo para el txt1:

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):

Puede incluir cualquier cantidad de preguntas, pero teniendo en


cuenta que se puedan responder con nmeros exactos o una

41

b)Escriba el siguiente cdigo para el cmd2:

Como se ve, el cdigo se construye con la sentencia condicional If


ThenElseIf, reforzada por operadores lgico (And) y de
comparacin (= <>). Tngase en cuenta que:
Cuando las respuestas sean nombres propios hay que dar la
posibilidad de responder con todo en mayscula o con la letra
inicial mayscula (ej,: QUITO o Quito). Escribirlo todo en minscula
(ej.: quito) ser un error ortogrfico. Cuando son nombres
comunes hay que dar la posibilidad de escribir todo en mayscula o
minscula (ej.: PERRO o perro). Esto se logra insertando la lnea de
instrucciones necesaria para cada caso (como se ve en el cdigo). 42

s acciones con los TextBox

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.

b) Escriba este cdigo para el txt1:


c) Escriba este cdigo para el txt2:
d) Abra la diapositiva en modo de ejecucin.
Escriba un texto en un txt y haga DblClick
en l (los txt no tienen Click). Luego haga
DblClick en el otro txt. Vea qu pasa
e) Podr hacer lo mismo si instala un cmd
y le escribe el siguiente cdigo (con Click
para un caso y DblClick para el otro).

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):

b) Abra la diapositiva en modo de ejecucin y active con


MouseMove.
As, cada vez
el cursorejercicio
del mouse entre y salga 43
ropuesta
se complementa
con que
el siguiente

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:

Seis controles bsicos

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

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual modo.
El tiempo que se demora la accin del cursor, con un
valor predeterminado de 50 milisegundos.

Aqu se escribe el tamao que se desea para el cursor de


la barra.
Aqu se escribe el valor de la marca superior de la barra, e
indica hasta dnde podr desplazarse el cursor.
Aqu se escribe el valor de la marca inferior de la barra.
Generalmente es 0, e indica el final del desplazamiento del
cursor.

Aqu se escribe la cantidad de marcas que recorrer el


cursor en cada paso. Generalmente es de 1 en 1, del valor
Max. al Min. o viceversa.

No todas las propiedades se explican, slo las


ms frecuentes. Las dems podr irlas

46

ScrollBar no es la simple barra de desplazamiento que se emplea en


los txt para deslizar textos. Se trata de un valioso control que, por
su procedimiento Change, puede inducir mltiples acciones a otros
controles -al estilo de un CommandButton- cada vez que el cursor se
detenga en una etapa de su recorrido por la barra. Por ej.: si se
instala un scb grande, con un valor Max de 20 y un SmallChange de
1, se podr inducir una accin a 20 controles, o 20 acciones
diferentes a un mismo control.
EJERCICIO 17:
HAGAMOS
LAcon
SIGUIENTE
PRCTICA:
a) Instale un scb1
horizontal
Delay 50,
Max 3, Min 0,
SmallChange 1.
b) Instale un txt1 de tamao grande, con sus propiedades comunes.
c) Instale un lbl1 (auxiliar) pequeo, que finalmente se ocultar con
Visible False.
d) Escriba el siguiente cdigo para el ScrollBar 1:

El cursor se desplaza en una u otra direccin con clic en los botones


de los extremos del scb, generando acciones que con creatividad

47

OptionButton

SU CUADRO DE PROPIEDADES

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual
Si el punto de seleccin
estarmodo.
a la izquierda o a la
derecha del control.

La ilustracin que se pondr en el control, y la posicin


que ocupar en el mismo (izquierda, derecha, centro).
La alineacin del texto que conforma el Caption del
control.
Permite activar (True) o desactivar (False) el control
mediante cdigo.
No todas las propiedades se explican, slo las
ms frecuentes. Las dems podr irlas

48

OptionButton permiten conformar una matriz desde la que se


induzcan acciones a otros tipos de controles con la seleccin de
uno u otro opt, siendo fcil de elaborar pues no requiere cdigo de
activacin, ya que el focus del programa se instala
automticamente en el opt donde se haga clic, borrndose de los
dems. Sus posibilidades son semejantes a la del scb. La siguiente
figura es un ejemplo de matriz de opt, en que se aprecia lo
siguiente:

La posicin del punto de seleccin es a la izquierda (propiedad


Alignment Left).
EJERCICIO
18: fuente especial Webdings para los Caption,
Se emple
generndose
ilustraciones.
a)
Instale varios
opt, formando una matriz, y declare sus
propiedades.
Se
usaron colores diferentes para los BackColor, crendose un
b)
Instale
un lbl1, con tamao grande para poder mostrar oraciones
circuito
llamativo.
extensas.
HAGAMOS
LA opt:
SIGUIENTE PRCTICA:
c) Escriba este cdigo
a cada
d) El mensaje variar en el cdigo
de cada opt, en relacin con la
ilustracin que muestre.
Los efectos pueden ser muy diversos, segn necesite. As mostrar49

CheckBox

SU CUADRO DE PROPIEDADES

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual
Si el punto de seleccin
estarmodo.
a la izquierda o a la
derecha del control.

La ilustracin que se pondr en el control, y la posicin


que ocupar en el mismo (izquierda, derecha, centro).
La alineacin del texto que conforma el Caption del
control.
Permite activar (True) o desactivar (False) el control
mediante cdigo.
No todas las propiedades se explican, slo las
ms frecuentes. Las dems podr irlas

50

CheckButton es un control muy semejante al OptionButton, y sus


Propiedades son idnticas, por lo que se manejan de igual modo y
cumplen parecidas funciones. Visualmente se diferencian porque
en los chk el punto de seleccin tiene forma cuadrada, y en los opt
es
las diferencias
son mayores.
La circular.
principalFuncionalmente
diferencia funcional
ocurre cuando
se
sitan varios de estos controles en una misma
interface, conformando una matriz de controles.
Como su nombre indica, el OptionButton permite la
eleccin de una sola alternativa entre varias
posibles, por lo que cuando se hace clic en uno se
desmarcan los dems (pasan al estado Value
False). As, solamente un OptionButton podr estar
activo (tener el focus del programa) cada vez.
Por su parte, los CheckBox en una matriz de
controles no se excluyen unos a otros, por lo que
pueden marcarse varios a la vez, incrementndose
las opciones de seleccin. Para desmarcar un
CheckBox
(pasarlo al estado Value False) ya
seleccionado hay que hacer clic nuevamente en l.
Para operar en modo de ejecucin un CkeckBox (al
igual que un OptionButton) mediante cdigos, se
escribe la instruccin Value True. Para desmarcarlo
se escribe Value False.

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

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual modo.
El tiempo que se demora la accin del cursor, con un
valor predeterminado de 50 milisegundos.

Aqu se escribe la cantidad superior de nmeros que


alcanzar.
Aqu se escribe la puede
cantidad
inferior de nmeros que
puede alcanzar.

SI se le situar en forma vertical u horizontal.


Aqu se escribe la cantidad de pasos que se
recorrern con cada accionar del botn. Generalmente
es de 1 en 1, del valor Max. al Min. o viceversa.

No todas las propiedades se explican, slo las


ms frecuentes. Las dems podr irlas

52

SpinButton es un control que se utiliza para seleccionar un


valor dentro de un rango numrico pre-establecido con las
propiedades Max (el valor superior que se puede alcanzar) y
Min (el valor inferior, que generalmente es 0), varindose
segn los pasos que se establezcan con la propiedad
SmallChange (generalmente de 1 en 1). Consiste en una caja
con botones de flecha arriba (SpinUp) y abajo (SpinDown)
cuando se sita verticalmente, y de izquierda a derecha,
EJERCICIO 19:
cuando est en forma horizontal. Su principal propiedad es
Change, que permite las variaciones numricas establecidas.
a) Instale un spn1, un lbl1 y un lbl2.
b) Declare al spn1 las propiedades Max 100, Min 0, SmallChange 1.
c) Declare al lbl1 las propiedades Font Webdings, TextAlign Center,
Border Single. Y al lbl2 las mismas propiedades, pero con Font
Arial.
d) Escriba el siguiente cdigo para
el spn1:
Vea que con Change se muestran
en lbl2 las variaciones numricas
Y con SpinDown y SpinUp
Para regresar un SpinButton al valor inicial instale un cmd y
se
producen
en lb1 para
diversas
acciones
escrbale
el cdigo
Click:

53

ListBox

SU CUADRO DE PROPIEDADES

Las propiedades comunes a otros controles


no se explican, pues ya son conocidas y se
usan de igual modo.
Cantidad de columnas que tendr el cuadro de lista. El
Si se pondr (True)
o no
(False)
un encabezamiento a
valor
1 es
adecuado.
El ancho que tendrcada
cadacolumna.
columna. El valor 1000 pt es
SI la lista estar disponible
(True) o no (False) en un
adecuado.
momento dado.

Si la altura de la lista aumenta (True) segn su


contenido.
Si en la lista se emplearn o no botones de opcin.
Cmo se har la bsqueda de elementos en la lista (por
letras, nombres)
Si los elementos se seleccionarn de forma sencilla
(Single) o mltiple.

No todas las propiedades se explican, slo las


ms frecuentes. Las dems podr irlas

54

ListBox es un control muy valioso para la creacin de bases de


datos o evaluadores de resultados, ya que permite la seleccin de
una o ms decisiones dentro de una lista de opciones en pantalla.
Es como emplear OptionButton o CheckBox, pero apoyados en la
accin
EJERCICIO
20: de un TextBox. HAGAMOS LA SIGUIENTE PRCTICA:
a) Instale un lst1, un lst2 y un txt1. Pngales las propiedades
bsicas.
b)
el siguiente cdigo:
c) Escriba
Abra la presentacin
y proceda a instalar
texto en el txt1 en
modo de ejecucin,
bien escribiendo
directamente en l, o
copindolo de una
fuente externa (un
d) Haga
en
block DblClick
de notas)
y txt1 y lo all escrito pasar al lst1 , conformando
una
lista decon
opciones.
pegndolo
Ctr+V Tenga presente que debe pasar cada opcin
por
Esto
(verseparado.
diapositiva
38).es: escriba (o copie/pegue) una, y traspsela
con DblClick; luego haga lo mismo con la segunda, y as
sucesivamente. Si pretende pasar juntas varias opciones del txt1
al lst1, se mostrarn como una sola.
e) Finalmente, en el lst1 seleccione las opciones (una o varias) que
desee, y al hacer Click en cada una se mostrar de igual manera 55

UserForm

Un Formulario de Usuario (frm) no es precisamente un control. Si en


VBA sobre PowerPoint las diapositivas son la interface de
programacin, en el programa VisualBasic (VB) ese soporte son los
formularios. As que en VBA se emplea el frm como una matriz de
controles, que cumple diversas tiles funciones. Para instalarlo hay
que abrir el editor de cdigos, donde

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

Con clic en este botn


se inserta el cuadro de
Propiedades
Con clic en este botn
se inserta el cuadro 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

Los controles se instalan en


un Userform como se hace
en una diapositiva, y se les
otorgan las Propiedades
vistas anteriormente.
EJERCICIO
21: LA SIGUIENTE
HAGAMOS
a) InstalePRCTICA:
un frm con
BackColor Verde,
ScrollBars Both, en
Caption escriba PRUEBA,
StarUpPosition Manual,
Picture (busque una
adecuada en su
explorador),
PictureAlignment Left,
PictureSizeMode Zoom.
Dele el tamao que
quiera, usando los puntos
dimensionales.
b) Instale en la parte inferior
central del frm un cmd1
(seleccinelo del cuadro
Herramientas) y dele
propiedades bsicas.
57

d) Haga dobleclic en cmd1 instalado en el frm1, y abra un editor de


cdigos para ese control. Escriba las instrucciones:
e) En una diapositiva instale un
cmd1, con las propiedades
bsicas, y escriba el siguiente
cdigo:
Clic en l en modo de ejecuci
f) Ejecute en el frm que se abra las instrucciones (Click, DblClick)
para el cmd. Qu ocurre?
g) Para ocultar el frm haga clic en el botn Cerrar (extremo superior
derecho).

Habr comprendido que el frm es aqu una interface auxiliar de


programacin insertada en la interface principal de VBA sobre
PowerPoint (las diapositivas), que puede ser abierta en modo de
EJERCICIO
22:para ejecutar mltiples acciones, como la aportacin de
ejecucin
instrucciones,
de textos
margen,
depero
listas
elementos
y
a) Instale
un frm igual
al del al
Ejercicio
21,
encon
Caption
escriba
opciones,
de soportes para escribir en pantalla, etc. HAGAMOS LA
INSTRUCCIONES.
SIGUIENTE
b) Instale en el frm un txt1
con las PRCTICA:
propiedades comunes. Cuide que
su BackColor sea contrastante con el del frm.
c) Copie y pegue en el txt un texto (como ya sabe hacer desde el
Ejercicio 11).
d) Instale un cmd en la diapositiva, con el cdigo:
e) Con clic en el cmd en modo de ejecucin ver

58

Al otorgarle propiedades a un frm


Ud. puede decidir en qu lugar de
la diapositiva quiere que aparezca
(lo ms comn es en el centro).
Pero podr moverlo a voluntad en
modo de ejecucin si le declara
como propiedad StartUpPosition
Manual, lo cual es muy
conveniente.
Tambin podr regular en modo de
diseo el tamao del frm que
confecciona, mediante las flechas
dimensionales en sus extremos. Y
as podr ocupar un espacio
semejante al de la diapositiva
donde aparecer.
Si sita varios frm con dicho
tamao, podr seleccionar y
mostrar el que desee en cada
momento, mediante cmd situados
en un borde de la diapositiva. La
cantidad de frm podr ser
ilimitada, pues se mostrarn uno a
uno en la presentacin, como los

Luego de abrir un UserForm es


posible desde un control
instalado en l accionar sobre
una diapositiva, o viceversa,
empleando cdigos como los
que se ejemplifican a
continuacin:
Slide().Label()=()
UserForm().Label()=()
En el primer caso el cdigo se
escribe en el frm y opera en la
diapositiva (slide). En el
segundo caso se escribe en la
diapositiva (slide) y opera en
el frm (entre parntesis van
los nmeros y la proposicin).

59

Tema 4:

Estructuras de control en VBA


Las estructuras de control son
cdigos encargados de determinar
el flujo de ejecucin de
unprograma, permitiendo realizar
un proceso repetidas veces en
funcin de los denominados bucles,
o ciclos de instrucciones. Los
lenguajes de programacin tienen
estructuras
Variables de control similares, y
bsicamente lo que vara entre ellas
es su sintaxis. En VBA estudiaremos
las siguientes:

Dominar las estructuras de


control aporta al
desarrollador la capacidad
necesaria para resolver todo
tipo de problemas con sus
programas. De modo que,
habiendo tratado ya con
profundidad lo referente al

60

Ya desde la diapositiva 32 conocimos las


Sentencia
posibilidades de las sentencias
condicionales, muy usadas en
s
programacin. Con ellas se puede:
condiciona
De
acuerdo a una condicin, ejecutar un grupo u otro de
instrucciones
(IfThenElse/ElseIf).
les
De acuerdo a casos variables, ejecutar un grupo u otro de
instrucciones (SelectCase).
SENTENCIA
IF sentencias
SIMPLE: condicionales, pero son suficientes estas dos para
(Existen otras
los fines de este curso).

a) Se trata de una estructura de control que


permite redirigir un curso de accin segn
una condicin inicial sea falsa o verdadera.
Si la condicin 1 es verdadera se ejecuta el
b) Se
pueden
plantear simultneamente
bloque
de instrucciones
1, de lo contrario, se
mltiples
ejecuta elpremisas:
bloque 2.si se cumple la condicin
1 se ejecuta el bloque de instrucciones 1, en
caso contrario se comprueba la condicin 2, y
si es cierta se ejecuta el bloque 2, y as
sucesivamente hasta ilimitadas (n)
condiciones. Si ninguna de ellas es cumple se
Cada
ejecuta el bloque
de del
instrucciones Else.
Nombre

condicin
tiene la
control.Propiedad=Proposicin
estructura:
Como ya se conoce, puede combinarse con

operadores lgicos o de comparacin, y

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

Enprogramacin, una funcin es un grupo de


instrucciones que seejecutaal ser llamada
desde otra funcin o procedimiento, para
Funcione
entregar un resultado.
Pueden sersllamadas mltiples veces para recibir datos desde
afuera a travs de sus parmetros. Se diferencian de los
procedimientos porque estos no devuelven resultado.
Una funcin tiene tres componentes bsicos:
Generalmente
Losparmetros, que son los valores de entrada.las funciones
su
Elcdigo, que son las operaciones, o proceso, queinician
realiza.
cdigo
con la
Elresultado, que es el valor final que entrega a la
salida.
variable int
FUNCIN
(Integer).
RANDOM:
La funcin Int(#*Rnd+1) se emplea en la GENERACIN ALEATORIA DE
NMEROS, de mucha utilidad en proyectos de programacin. Sus
componentes significan:
Int: declaracin de la funcin como Integer (variable que
trabaja con nmeros).
#: se23:
escribe el valor mayor que puede alcanzar la funcin
EJERCICIO
(1000, por ejemplo).
a) Instale
un
sus propiedades
bsicas.
*Rnd +
1:txt1,
estacon
frmula
generar aleatoriamente
un nmero
b) Escriba
siguiente
cdigo:
enteroel
del
1 al 1000.
c) Cuando haga DblClick en el control
se mostrar un nmero, en este caso
del 1 al 1000, aleatoriamente generado.
Esto tambin puede hacerse con clic en un cmd, y tanto para un txt63

UNCIN MSGBOX:

La funcin MsgBox se emplea en la creacin de CAJAS DE


MENSAJES, que cumplen un importante papel de interactividad en
los programas, devolviendo resultados a partir de varios
argumentos escritos en el cdigo. Durante el diseo los
argumentos van mostrndose en listas cuando se escribe una coma
(,) en el texto, a fin de que se pueda elegir el que se desee, en el
EJERCICIO
24:
orden: mensaje,diseo+botones,titulo.
a) Con un txt y un cmd haga este
ejercicio. Escriba en el txt el mensaje que se
muestra, y ponga al cmd
el Caption Borrar.
b) Luego de escribir los cdigos podr, con clic en el
cmd, abrir un MsgBox titulado EJEMPLO, que tiene
las opciones S / No. Con clic en No nada pasar;
con clic en S se borrar el mensaje del txt. En
ambos casos el MsgBox desaparecer luego de
hacer clic en alguno de ambos botones.
c) Los argumentos empleados y sus efectos en el
MsgBox, son los siguientes :
Ttulo: para escribir entre comillas dobles el ttulo
que tendr el

Recuerda
haber visto
esto en
aplicacione
s de
Windows?
Cmo se64

Para escribir el cdigo al control empleado (generalmente un cmd),


se escribe el nombre de la funcin. Escriba al final un parntesis ( y
se Nombre
mostrarde
lala
lista de argumentos
funcin

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

Haga dobleclic en la opcin de diseo que escoja, escriba


seguidamente un signo + y se abrir una lista de opciones para los
botones

65

Haga dobleclic en la opcin de botn que escoja, escriba


seguidamente una coma , y se pasar al ltimo elemento de la lista,
que es el ttulo del msg. Escrbalo entre y cierre el parntesis.

La funcin
terminada
quedar
Termine de escribir el cdigo empleando una sentencia
condicional
finalmente
as
simple If

Donde la proposicin est determinada por la opcin de botn


escogida (en este caso vbYes). Escriba la instruccin a ejecutar en el
control (en este caso txt1). Y termine con End If.
LAS OPCIONES DE
LAS OPCIONES DE
Sin importar cuntos
BOTONES MS
DISEO MS
botones de comando
COMUNES (Y SUS
COMUNES (Y LOS
ACCIONES) SON:
existan en un MsgBox,
SMBOLOS QUE
IMPLEMENTAN) SON:
slo podr hacerse clic
vbOK: clic en
en uno, pues al hacerlo
Aceptar
vbCritical: letra X
desaparecer de
vbCancel: clic en
vbQuestion:
inmediato, y el valor de
Cancelar
interrogacin
respuestas ser solo el66
vbAbort: clic en
vbExclamation:
vbExclamation:

UNCIN INPUTBOX:

La funcin InputBox se emplea en la creacin de CUADROS DE


ENTRADAS, que cumplen un importante papel de interactividad en
los programas. Al igual que las MSGBOX, vistas anteriormente
(diapositiva 65), para escribir el cdigo al control empleado
title][,
default][,
ypos][,
(generalmente unInputBox(prompt[,
cmd) se ponen el
nombre
de laxpos][,
funcin
y un
context])
parntesis ( y de helpfile,
inmediato
se mostrar la lista de argumentos:
El primer argumento (prompt) es el mensaje que se desea
aparezca en el InputBox, luego se escribe una coma (,) y se pondr
como segundo argumento (title) el ttulo que llevar el cuadro de
entradas. Los otros argumentos no son necesarios. Para realizar un
InputBox es preciso emplear una sintaxis de variable, lo que ser
EJERCICIO
25:ms adelante (diapositiva 70). Por eso veremos ahora
estudiado
a)
Instale
CommandButton
este
nicoun
caso
indispensable:y un TextBox, con las propiedades
habituales.
b) Escriba al cmd1 el cdigo:
declare la variable con Dim str
y pngale un nombre que la
designe. Valdela con la funcin InputBox, escribiendo el
prompt y el title que desee.
Cuando haga clic en el cmd se mostrar el cuadro
de entradas siguiente, donde en la ventana de
edicin podr escribir segn el mensaje, y al hacer
clic en Aceptar, lo que escriba se ver en el txt.
67

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:

As implementar un InputBox por cada informacin que desee


incluir en la base de datos. Cuando haga clic en este cmd1 en
modo
de
ejecucin
se
irn
mostrando
los
InputBox
consecutivamente,
y para
las respuestas
se escriban en
ellos ir
se
c) El siguiente cdigo
el txt1, conque
el procedimiento
Change
podrn
ver en el al
txt1.
transfiriendo
lst1 la informacin que reciba del InputBox, la
que se mostrar como lista de opciones para conformar el
almacn de la base de datos. El txt1 debe ser ocultado con
Visible False.

68

d) Escriba este cdigo para el lst1, que permitir seleccionar en l


la informacin deseada, pasndola con clic en su botn de
opcin al lst2, donde se mostrar igualmente como una lista:

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:

Cuando haga clic en el cmd en modo de ejecucin se mostrar un


InputBox donde escribir su respuesta, y cuando haga clic en
Aceptar se mostrar un MsgBox donde podr optar por SI o NO. En 69
el

Las variables son las estructuras de control


ms importantes en todo lenguaje
Variable
informtico, pudiendo considerarse como la
s
base de
programacin. de datos
Cada una resulta un rea temporal
dela
almacenamiento
alojados en la memoria de la computadora, donde se guarda un
valor que va a variar (de ah su nombre) durante la ejecucin del
programa, y que puede ser llamado en cualquier momento para
cumplir funciones definidas por el programador mediante cdigos.
EL TRABAJO CON VARIABLES REQUIERE 2 PASOS:
1. DECLARARLA. Para usar una variable primero hay que declararla
con la instruccin Dim, que declara variables asignndoles un
nombre y un tipo. Los tipos ms frecuentes son:
bln (tipo Boolean): contiene resultados Verdadero (True) o Falso
(False), S o No.
int (tipo Integer): contiene valores numricos entre -32,768 y
32,767.
str (tipo String): contiene cadenas ilimitadas de caracteres no
numricos.
cur (tipo Currency): contiene cadenas ilimitadas de valores
numricos.
vnt (tipo Variant): contiene cualquier tipo de dato (numrico o de
70
texto).

2. VALIDARLA. Despus de declarar una variable podr almacenar


datos en ella; esto es:
darle un valor mediante una instruccin de asignacin, que usa
la sintaxis:

Nombre = ValorAsignado

Como ValorAsignado puede emplearse una expresin literal, una


expresin matemtica, otra variable, una expresin lgica o una
cadena, la propiedad de un control (los que aparecen en el
cuadro Propiedades), etc. Por ejemplo:
strResultado = Patricia
Contiene una expresin literal (se
escribe
entre ).y validada podr emplearse para asignar un
La variable
ya declarada
intResultadode
= evento
571
Contiene
unaprograma.
expresin
procedimiento
a cualquier control
dentro del
matemtica.
HAGAMOS LAS SIGUIENTES PRCTICAS:
EJERCICIO
28:
vntResultado=
strPrueba
Contiene otra variable (se escribe
BUCLE FOR:
su nombre).
blnResultado=True
Contiene
una expresin
lgica
Se emplea
para repetir la ejecucin de
instrucciones
n veces, segn
(Verdadero/Falso).
la diferencia
numrica entre un valor inicial (#1) y uno final (#2),
Contiene
una
del
convntResultado=Font
un nmero de pasosArial
dados por el valor
que se
d propiedad
a la
control.
propiedad
Step. Si el #1 es menor que el #2, Step tendr valor
positivo (+), siendo negativo (-) si el #1 es mayor que el #2. Con un
bloque de instrucciones aplicado a un txt, por su propiedad Change
71
pueden generarse mltiples acciones a otros controles. A

a) Instale un TextBox1, un TextBox2 y


un SpinButton1, con sus propiedades habituales.
b) Escriba el siguiente cdigo al spn1:
c) Escriba el siguiente cdigo al txt1, con Change:
d) Observe en el cdigo anterior que:
Se declara y nombra una variable: Dim intPrueba As Integer.
Se valida la variable: intPrueba=TextBox1.BackColor And
TextBox1.Text
Se usa el operador lgico And para dar dos elementos al valor
de la variable.
Se declara el bucle For para la variable: For intPrueba con
valor: 1 To 50 (del 1 al 50) y
Step 1 (paso a paso), lo cual quiere decir que el bucle se
repetir 50 veces. Estos
valores sern dados por el programador, si quiere lograr mayor
o menor recorrido del
bucle (por la distancia entre los nmeros inicial y final), y
mayor o menor reiteracin, o
cantidad de pasos (por el nmero de Step).
Se establece la instruccin, consistente en que el txt2 muestre
el contenido establecido
por el valor de la variable intPrueba (TextBox1.BackColor And
TextBox1.Text). Y as, en
el txt2 se mostrarn el texto y el color de fondo del txt1, con
72
una secuencia de veces

conformando un lazo (loop), mientras (Do While) se


EJERCICIO 29:
mantengan vlidos los valores empleados como
premisas. En el Ejercicio 15 instalamos un generador
BUCLE WHILE:
aleatorio de acciones por variacin numrica constante,
basado en la Fecha y Hora tomadas del sistema para un
txt con el procedimiento MouseMove. Ahora
a) Instale un TextBox1, un
TextBox2 y un
vertical,
con
realizaremos
un SpinButton1
RELOJ DIGITAL
que funcione
propiedades habituales.
permanentemente con un clic.
b) Escriba el siguiente cdigo al spn1, con procedimientos SpinDow
La
Fecha yeste
Hora
c) Escriba
y SpinUp:
instaladas
cdigo para el
Es el apagado del reloj
inicialmente
por el
txt1, con Change:
sistema en txt2,
Es el encendido del relo
pasan al txt1 con
SelText. Con esas
lecturas se declaran
las dos variables
strHora. Al
compararlas con Do
While, por ser iguales
(=) se cumple de
nuevo la instruccin
para el txt2,
actualizndose
La sentenciaFecha
de salida y la instruccin Exit Do evitan que el lazo sea
y Hora de manera
infinito y el sistema se bloquee.
Al
final
el txt1 se oculta con Visible False, y
73
constante.

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

SelText) no se hace con Click (los txt no tienen esta propiedad),


sino que se emplea MouseDown (que se ejecuta cuando se oprime
el botn del mouse). El nmero se borra del txt1, e
inmediatamente que aparece en el txt2, por la propiedad Change
se abren los candados (Locked False) en los 4 botones de
operaciones aritmticas (+ - * /) y estos quedan listos para
procesar el resultado:

f) Para obtener un resultado en cada operacin aritmtica hay que


emplear 2 variables:
La primera corresponde al contenido del txt1, y se nombra
curPantalla1.
Observe que el
La segunda corresponde al contenido del txt2, y se nombra
tipo de variable
curPantalla2.
empleado es
Currency (cur)
pues permite
cadenas
ilimitadas de
nmeros, as
como valores
enteros y
decimales. 75

g) Observe que para cada operacin aritmtica se comparan ambas


variables, con la sintaxis: TextBox2.Text = (variable1) (signo
aritmtico) (variable 2)
Tambin se
borra el
txt1, para
una nueva
h) Una
ltima
accin.
instruccin
permite
borrar el
contenido del
txt2 para
rectificar un
error.
Si
quiere
una calculadora
conal
teclas,
otros
10 lo
cmd,
con
Con
clic, cada
cmd incorpora
txt1 elsite
nmero
que
identifica
Caption:
1,2,3,4,5,6,7,8,9,0,
y ese
d anmero
cada uno
siguiente
en su Caption.
Pero, para que
noel
sustituya
alcdigo:
que ya
est en el txt, sino que
se adicione al final del mismo, despus de poner la variable hay
que colocar un ampersand (&) como operador de enlace, y luego
poner el nmero entre . Este operador se emplea para unir los
dos extremos de una cadena de caracteres. Los 10 nuevos cmd
tambin deben ser accionados con Locked True y Locked False al
apagar y encender la calculadora (incisos b,c). Y otro importante
detalle es que NUNCA se debe usar TextBox1.Text=,

76

Tema 5:

Ya hemos cumplido el propsito de


conocer controles y estructuras de
control en el lenguaje de programacin
VBA. Ahora corresponde integrar esos
recursos en el logro del objetivo final: el
desarrollo de proyectos de
programacin, o softwares. Lo que
abordaremos aqu son procedimientos y
recomendaciones para alcanzar el xito
en lo que cada cual se proponga realizar.
La realizacin de un proyecto
computacional es una tarea semejante a
la construccin de una maquinaria,
donde cada pieza debe estar en su lugar
exacto para que el conjunto funcione
correctamente. No se puede modificar
un elemento interno cuando ya se est
trabajando en la cubierta exterior. De
modo que desde el inicio hay que tener
claridad sobre lo que se desea y cmo
lograrlo, para ir avanzando paso a paso
desde lo inferior hacia lo superior, desde
adentro hacia afuera. Y eso solo ser
posible si se aplica una metodologa que
77
las Ciencias Informticas definen como

Desarrollo de Proyectos

Ingeniera de Software

La Ingeniera de softwarees la aplicacin de un enfoque sistemtico


al diseo, desarrollo, operacin y mantenimiento de programas
informticos. La creacin de softwares es un proceso
intrnsecamente creativo y la Ingeniera de software trata de
sistematizar este proceso con el fin de reducir el riesgo del fracaso
en la consecucin del objetivo, que no es solamente la resolucin de
problemas, sino sobre todo teniendo en cuenta las diferentes
soluciones, elegir la ms adecuada. La metodologa se resume en el
esquema:
Aplicndolo a la realidad del presente Curso se pueden
definir sus componentes del siguiente modo:
HERRAMIENTAS: los controles y estructuras de control
que el lenguaje VBA pone al servicio del desarrollador.
MTODOS: planteamiento y solucin de problemas
(prctica heurstica) mediante herramientas
computacionales, y fomento del trabajo intelectual
individual y colectivo con tcnicas de creatividad, como
Brainstorming (tormenta de ideas).
PROCESO: creacin de interfaces en soporte PowerPoint, escritura
de cdigos VBA, pruebas
continuas del diseo en modo de ejecucin.
ENFOQUE DE CALIDAD: usar los controles y estructuras ms
adecuados para cada caso,
aplicar
las soluciones ms sencillas,
de final
tereses
y necesidades
Desarrollouna escritura ordenada
Producto

Su desarrollo comprende las 3


siguientes etapas:Partiendo de los intereses y necesidades
DISEO (creacin de la interface)
planteados se procede a concebir el software que
se desea, aplicando mtodos heursticos y
creativos, tanto individual como colectivamente.
La mayor capacidad del ser humano es que puede
crear un mismo producto dos veces: primero en su
mente, y luego con sus manos lo que imagin.
Sabiendo
qu
se quiere
hacer
se proceder
a
Esta es una
etapa
decisiva,
donde
se construyen
analizar
dinmica
del software,
procurando
una
las baseslaque
soportarn
al edificio,
como
comprensin
lo cual
ms se
exacta
posible
cmo
resultado de la
sabr
qu sesobre
quiere
hacer
funcionar, qu algoritmos, o lgica de ejecucin,
hay que cumplir para llegar al objetivo previsto en
el diseo. Para esto es indispensable considerar
con qu herramientas se cuenta, ya que lo
Habiendo
lasser
dosabsolutamente
etapas anteriores
ya se
propuestovencido
tiene que
realizable.
tendr
80% delde
xito,
pues lo que
queda
es
Si no seeldispone
herramientas
a tal
fin, habr
poner
manos el
a la
obra!, en un empeo
que reajustar
diseo.
bsicamente de taller, paciente, persistente,
cuidadoso y tcnico, a fin de aplicar los algoritmos
planificados, con el uso de herramientas
disponibles para alcanzar los objetivos diseados.
El producto final, De
quemodo
es una
PRESENTACIN
INTERACTIVA,
es mejor
que
si todo lo anterior
fue bien hecho
guardarla con la
opcin PRESENTACIN
DIAPOSITIVAS
DE
FELICIDADES!
Se tendr CON
un buen
producto final.
POWERPOINT HABILITA PARA MACROS,
lo que 79

Algunos
consejos

Procure programar los controles


Programe
del mismo tipo en orden
ordenadamente
numrico. As podr localizarlos
y con claridad,
con facilidad dentro del total.
para que luego
Cuando un mismo control deba
pueda revisar
cumplir varias funciones
bien el cdigo y
(Caption, ForeColor...) escrbalas
analizar su
en el orden en que desee se
estructura.
ejecuten. El programa siempre
Localizar un
"corre" de arriba a abajo. Si eso
error en un
fuese
indiferente,
agrupar
cdigoEscribir
confusocdigos
que
se repitenpuede
es sencillo
con
losCopiar
controles
por tipos
de
puede
la posibilidad de
y Pegar.
Seleccione
funciones.
Porun
ej.:
primero todos
Pruebe
enloquecer
con ael mouse
(como en
procesador
de
los Caption,
luego los que
ForeColor,
continuamente el
cualquiera.
texto) el bloque
de instrucciones
quiera
y as
sucesivamente.
proyecto en
copiar, y pguelo
donde
necesite. Como
desarrollo, y no
seguramente tendr que cambiar algunos
espere al final para
datos en la copia, eso se facilitar del
comprobar cmo va.
siguiente modo: estando en el editor de
Y no olvide ir
cdigos seleccione el texto que peg y haga
salvando lo realizado, clic en el cono Buscar, de la barra de mens.
pues una falla en el
En el cuadro que se abrir elija la opcin
Nunca le
diga:
Este
no quiere
correr!
Si su Buscar el
sistema
ocurre
a programa
Reemplazar.
Escriba
en la ventana
programa
no y
funciona
puede
100% seguro
de que
cualquiera...
es
textoestar
a cambiar,
y el nuevo
texto en la
contiene
un error de Ud.
Tmelo
con calmacon.
y pngase
a
muy lamentable
ventana
Reemplazar
Cercirese
que est
80

En programas con muchos controles puede ser tremendamente


trabajoso escribir para cada control extensos bloques de
instrucciones que se ejecutan de igual manera. Esto se simplifica
notablemente
emplea
la opcin
del
a)
Haciendo clicsien
la pestaa
de laPROCEDIMIENTOS
ventana superior GENERALES
izquierda del
editor de cdigos.
que estn instalados en la
editor ver los controles
interface. Note que lo primero
que se lee es (General). Est
entre parntesis para indicar
que no es un control, sino una
opcin de edicin.
En el editor existen 2
opciones:
GENERAL, para cdigos que no
b) Los cdigos que hemos escrito hasta ahora son de tipo privado,
pertenecen a un control.
vinculados a un control, como este
que se ve, perteneciente al
PRIVATE,
para cdigos de
CommandButton1.
eventos, que
pertenecen a un control en
c) Como Procedimiento General podrn escribirse cdigos que se
particular.
Private Sub doPro1
Paracomo
un segundo
cumplan para cualquier
cantidad
de
controles,
es el caso
(seguidamente los bloques de
procedimiento
escriba
de las sentencias
condicionales. Para eso, haga
clic en la opcin
instrucciones)
doPro2,
y as superior
End Sub del mouse de detendr
(General) y el cursor
en la lnea
Cuando quiera usar en un control uno de los Procedimientos
sucesivamente.
del editor.
Generales guardados, llmelo escribiendo
inicio de su cdigo:
Privateal
Sub
d)ESTO
Escriba
entonces: TRABAJO Y
LE AHORRAR
HAR SU PROYECTO MS

CommandButton1_Click()
Call doPro1
(seguidamente el resto del

81

La mayor necesidad en el desarrollo de un software es guardar los


procesos que se vayan generando para emplearlos en otro
momento en que se requieran, lo que se resuelve con el uso de
variables, que los conservan en reas temporales de memoria hasta
que sean llamados por los cdigos. Pero tambin se puede hacer,
en algunos casos, mediante los denominados CONTROLES
En
el Ejercicioque
10 se ocultan
emplea un
auxiliar
(lbl2)que
quecumplan
recoge los
AUXILIARES,
conLabel
Visible
False para
su
nmeros
con
identifican
las diversas
categoras
a mostrar
funcin
sinque
ser se
vistos
en la interface.
Veamos
los siguientes
en el TV digital que se
construye
en elcurso:
ejemplo. Los cambios de
ejemplos
en este
nmeros en el lbl auxiliar, apoyados por el operador lgico And,
propician el funcionamiento mltiple de la sentencia condicional.
En el Ejercicio 13 se emplea un Label auxiliar (lbl1) que igualmente
recibe marcadores numricos para que, junto al operador lgico
And y de comparacin = <> se ejecute la sentencia condicional que
propicia la evaluacin de resultados. En el Ejercicio 16 se emplea
un TextBox auxiliar (txt2) que al recibir los cambios numricos
generados por las variaciones horarias provoca, con su
procedimiento
Change, hasta
10 acciones
otros
del
Acuda a los CONTROLES
AUXILIARES
cadaen
vez
que controles
pueda, pues
proyecto.
En ellos
el Ejercicio
17
se emplea
un Label
auxiliar (lbl1)
trabajar con
es muy
fcil.
Por ejemplo:
si necesita
movercuyas
una
variaciones
numricas
por
el
recorrido
del
ScrollBar
generan
imagen de un sitio a otro en la interface podr, al quitarla, pasarla
mltiples
acciones
enlaotros
controles
proyecto.
a un control
auxiliar,
donde
tomar
cuandodel
quiera
instalarla en
otro lugar para completar el movimiento. Este recurso es til en la
realizacin de juegos con tableros, entre cuyas casillas se movern
las fichas: con clic en una casilla pasar la ficha que est all al 82

Para tener xito como desarrollador de softwares en


cualquier lenguaje de programacin, se requieren

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

Y as llegamos al final del Curso

Ahora le corresponde a Ud. demostrar lo aprendido. Y para eso


tendr que realizar un proyecto de regular complejidad, que
ser su Trabajo de Graduacin.

Cules seran sus intereses y necesidades


Un nio o adolescente enamorado de la
computacin podr iniciarse en la programacin
con un lenguaje y una interface fciles de usar,
y elaborar sencillos programas de
entretenimiento y educativos. Lo mismo podrn
hacer padres
abuelos para
Si es un educador,y podr
apoyarlos
elaborar juegos y sistemas
ldicos para la comprobacin
de conocimientos, con el
empleo de herramientas de
programacin fciles de
aprender
y usar, elevando
as
Si es un profesional
en cualquier
rama, podr
la motivacin en
su
elaborar presentaciones
interactivas
de
desempeo
docente
PowerPoint
para sus
conferencias y otras
necesidades, con el atractivo de una dinmica
participativa lograda con la programacin VBA
que, entre otras cosas, le permitir incluir todo
84

PRESENTACIONES
CURS
INTERACTIVAS
O

Gracias
por darme la
oportunidad de
compartir con
Ud. mis
conocimientos
!
2/19/15