Está en la página 1de 85

CURSO

Programacin Visual Basic para


Aplicaciones (VBA) en soporte
PowerPoint
Introduccin (2)
Tema 1: La interface de programacin (8)
Tema 2: Cuatro controles bsicos (20)
Tema 3: Seis controles bsicos (45)
Tema 4: Estructuras de control en VBA (60)
Tema 5: Desarrollo de proyectos (77)
30 EJERCICIOS + 1 PROYECTO
(Todas las palabras subrayadas son hipervnculos)

Prof. PEDRO FULLEDA BANDERA / Ludlogo, Comunicador Social


Quito Ecuador (2014)
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 programas comunes, como los que se encuentran en Microsoft
Office. La mayora de los usuarios de este paquete ofimtico ignora que sus aplicaciones
estn dotadas con una versin especial llamada VISUAL BASIC PARA APLICACIONES (VBA)
que, aunque no es exactamente el sistema completo de programacin, s permite controlar
y hacer interactivos sus productos, teniendo la ventaja de no requerir la instalacin del
programa VB, pues ya est implcito en las aplicaciones de Office.
2
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 en un soporte externo. As,
para ejecutar un programa en VBA (en PowerPoint o en cualquier otra aplicacin de Office)
primero se tendr que habilitar esta funcin en el nivel de seguridad antimacro de la
computadora, de lo contrario se ver la presentacin de PP, pero perder su interactividad.
En las siguientes pantallas le muestro cmo hacerlo

3
1

Haga clic en el botn de Office (1), y en el cuadro que se abrir (2) haga clic en
Opciones de PowerPoint
4
2

3 4

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 macros (3), 5
donde de todas las opciones escoger Deshabilitar todas las 4
Haga clic en Centro de confianza.
macros con notificacin (4). Luego haga clic en Aceptar (5).
Otro procedimiento se explica en la diapositiva 12.
5
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
(elaboradas por Ud.
con la programacin
VBA). Luego haga clic 1 2
en Aceptar (2) y
dispondr de
interactividad en su
PowerPoint.

6
Para hacer una
presentacin
interactiva de Las pantallas (una o ms) se disean como diapositivas de PP,
PowerPoint se empleando las posibilidades de autoformas, ilustraciones,
cuenta con los colores, y otros.
siguientes
recursos...

Los grficos y textos pueden ser animados de diversos modos,


dinamizando la presentacin.

Este recurso permite pasar de una pantalla a otra, segn se


requiera en una presentacin con varias diapositivas.

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: disponga una presentacin para realizar sus ejercicios y proyectos.
7
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, Animaciones, Presentacin con diapositivas, Revisar, Vista
(puede variar de una versin a otra del programa) 8
1

Haga clic en el botn de Office (1), y en el cuadro que se abrir (2) haga clic en
el botn Opciones de PowerPoint
9
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 Aceptar 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
PowerPoint 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 como se explica en la diapositiva 5. 12
Control de Botn de Control de Barra de
nmero comando imagen desplazamiento
Control de
(SpinButton) (Command (Image) (ScrollBar)
texto
Button)
(TextBox)
Muestra o
Control de modifica las
etiqueta propiedades
(Label) del control
seleccionado
Casilla de
verificacin Edita el cdigo
(CheckBox) de VBA para
un control
Botn de
opcin Cuadro Cuadro Botn de Despliega una lista
(Option combinado de lista alternar con ms controles
Button) (ComboBox) (ListBox) (ToggleButton) disponibles

Estos son los tipos de 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 activa cuando
es instalado un control
13
1 3
Para instalar un control en la interface de
2
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 4
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 est seleccionado,
contorneado por puntos dimensionales,
como se muestra en la figura (4). Las
propiedades podr verlas en orden
alfabtico o por categoras, como le sea
ms cmodo.
14
El Label, el TextBox y el 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 eso tendr primero que abrir el cuadro Propiedades para el primer control al
que haga clic, que ya quedar as activado para el resto. No lo intente con la
propiedad Font, pues puede interrumpirse el programa. Ella debe ser declarada de
forma individual a cada control. 15
2

Luego de instalar un control en la


interface (diapositiva en diseo), y de 1
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 3
(2), o dobleclic en el mismo control (3),
que es el mtodo ms usual, con lo que
se abrir el editor de cdigos mostrando
Como se ve, con el cuadro de
el evento principal (por defecto) del Propiedades se otorgaron al control
control. El cursor del mouse se mostrar Label1: un BackColor (amarillo), un
intermitentemente entre las lneas de BorderStyle (Single, o sencillo), y un
edicin -de encabezamiento y final- para Caption o etiqueta (Prueba), con Arial
dicho control, indicando que se puede 18 negrita como Font (fuente).
comenzar a escribir all.
16
Esta ventana Esta ventana
muestra todos muestra todos los
Las lneas de cdigo se escriben los controles procedimientos
entre el encabezamiento: instalados en la de eventos que
Private Sub + nombre del interface, en pueden usarse
control + procedimiento, y el orden alfabtico. con cada control.
final: End Sub Por ejemplo:
Click, Dblclik,
Como se ve, en esta pgina se dispone la programacin MouseDown,
para el control Label1, con el procedimiento Click (que MouseUp,
aparece primero, por defecto). Para cambiarlo, hay que MouseMove...
buscar otras opciones en esta ventana

Para salir del editor de cdigos y regresar a la diapositiva en diseo,


se har clic en este botn. 17
A cada control
corresponde un
bloque de
instrucciones. Los
bloques se
separan entre s
automticamente
por un lnea

Relacin de Las lneas de Cada bloque de instrucciones debe ser


diapositivas que instrucciones acompaado por una lnea de texto que explique
forman la derivadas de una la funcin que tiene ese cdigo, lo que ayuda a
presentacin. Con principal deben comprender el programa que se elabora. La lnea
clic en un cono se tener sangra para es precedida por una comilla simple ( ), para que
muestran los definir la estructura no se la asuma como parte de las instrucciones, y
cdigos de cada del bloque de se ver con color verde en el editor.
una. instrucciones. 18
En la escritura de cdigos de programacin se emplean abreviaturas para
identificar los controles. Estas son las ms usadas
ComboBox Formulario Men
CheckBox Grid OptionButton
CommandButton HScrollBar PictureBox
DirectoryList Image Shape
DriverListBox Label Timer
FileListBox Line TextBox
Frame ListBox VScrollBar

Tambin se emplean los siguientes cdigos para asignar colores a los controles:
Se escriben en las
QBColor(0) QBColor(6) QBColor(12)
lneas de
QBColor(13) programacin para
QBColor(1) QBColor(7) dar, en modo de
QBColor(14) ejecucin, un color a
QBColor(2) QBColor(8) un control, o cambiar
QBColor(15) el que se le dio
QBColor(3) QBColor(9) inicialmente en el
QBColor(4) cuadro Propiedades.
QBColor(10)
QBColor(5) QBColor(11) 19
Botn de
Etiqueta Control de Imagen Comando Caja de Texto
Label (lbl) Image (img) CommandButton TextBox (txt)
(cmd)
Con estos 10 controles y mucha
creatividad, resolveremos Barra de Botn de Opcin
todos los problemas. Veamos Desplazamiento OptionButton
ahora los 4 primeros ScrollBar (scr) (opt)

Casilla de Control de
Verificacin Nmero
CheckBox (chk) SpinButton (spn)

Formulario de
Cuadro de Lista
Usuario
ListBox (lst)
UserForm (frm)

(Haga clic en un cuadro para ir al contenido) 20


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 acento ni .
Define si el control asumir un tamao automticamente o no.
Color de fondo (con clic en la pestaa se abre la paleta de colores).
Define si el control tendr su fondo opaco o transparente.
Color del borde (solo si el estilo del borde es Single).
Si el control mostrar un borde (Single) o ninguno (None).
Mensaje o etiqueta, que mostrar inicialmente el control.
Si el control estar disponible (True) o no (False).
Fuente tipogrfica que se utilizar para el Caption (etiqueta).
Color de la fuente (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 las propiedades: Height (alto) y Width (ancho).
Si quiere emplear un cono o imagen como puntero del mouse.
Forma que asumir el puntero del mouse al tocar el control.
Incorpora una imagen al control, buscndola con un explorador.
Establece la posicin de la imagen en el control.
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 de la interface.
Define si el control ser visible o no inicialmente.
Las fuentes Webdings y Windings incorporan diversas
ilustraciones y logotipos como etiqueta a los controles,
como se muestra en las diapositivas siguientes 21
Fuente especial ( ( , , <<
< FF k k P P u u
WEBDINGS
/ / AA
A f f L L p p V V
| | 8 8
&& } } a a
a GG l l Q Q v v
9 9
%% { { BB
B g g MM q q W W
1 1 1010
$ $ [ [ bb
b HH m m R R w w
22
# # ] ] CC
C hh N N r r X X
33
- - c cc I I n n S S x x
44
! ! _ _ DD
D i i s s Y Y
55 ? ?
+ + : : dd
d J J T T y y
66 = =
. . ; ; EE
E j j O O t t Z Z
77 ) )
* * > > e e
e KK o o U U z z
Fuente especial ( ( , , < << F F k k P P U u
WINGDINGS
/ / A A f f L L p p V V
|| 8 8
&& } } aa
a G G l l Q Q v v
9 9
%% { { B g
B B g MM q q W W
1 1 10 0
$ $ [ [ b b
b H H m m R R w w
2 2
# # ] ] C
C C hh N N r r X X
3 3
- - c c
c I I n n S S x x
44 ! ! _ _ D D i i s s Y Y
5 5 ? ? + + : : d d
d J J T T y y
6 6 = = . . ; ; EE
E j j O O t t Z Z
77 ) ) * * > > ee
e KK o o U U z z
Fuente especial ( ( , , < << F F k k P P U u
WINGDINGS 2
/ / A A
A f f L L p p V V
|| 8 8
&& } } aa
a G G l l Q Q v v
9 9
%% { { B B
B g g MM q q W W
11 10 0
$ $ [ [ b bb H H m m R R w w
2 2
# # ] ] C C
C hh N N r r X X
3 3
- - c c
c I I n n S S x x
44 ! ! _ _ D D
D i i s s Y Y

5 ? ? + +
5
: : d dd J J T T y y
6 6 = = . . ; ; EE
E j j O O t t Z Z
77 ) ) * * > > ee
e KK o o U U z z
Fuente especial ( ( , , < << F F k k P P U u
WINGDINGS 3
/ / A A f f L L p p V V
|| 8 8
&& } } a aa G G l l Q Q v v
9 9
%% { { B B g g MM q q W W
11 10 0
$ $ [ [ b bb H H m m R R w w
2 2 # # hh
] ] C C N N r r X X
3 3 - - c I I n
c c n S S x x
44 ! ! _ _ D D i i s s Y Y

5 5 ? ? + + : : d dd J J T T y y
6 6 = = . . ; ; EE
E j j O O t t Z Z
77 ) ) * * > > e ee KK o o U U z z
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.
a) Borre la letra o nmero que escribi en Caption, y escriba all su nombre.
b) En Font seleccione otra fuente (por ejemplo: Arial) y dele el tamao que desee.
EJERCICIO 3.
a) Borre la letra o nmero que escribi en Caption.
b) Seleccione Picture en el cuadro Propiedades.
c) En el explorador que aparecer busque una ilustracin o foto que tenga archivada.
d) Vea qu aparece en el lbl.
e) Decida la posicin de la imagen mediante PicturePosition (pruebe varias opciones).

Ejemplo de resultados:

1 2 3
26
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.
HAGA LAS SIGUIENTES PRCTICAS (consulte la diapositiva 17):
EJERCICIO 4.
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.
a) Abra el editor de cdigos para el lbl2.
b) Escriba la siguiente instruccin:
c) Regrese a la diapositiva en diseo y abra su presentacin en pantalla.
d) 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.
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 el color de fondo del control.
NOTA: Para cambiar colores se emplean los cdigos dados en la diapositiva 19.
En estos casos la accin es Click, que aparece por defecto, pero puede cambiarla por
otras que se muestran en la ventana Procedimientos (ver diapositiva 17) Hgalo!. 27
Para todos los controles, la redaccin de lneas de instrucciones tiene la siguiente
SINTAXIS BSICA:
Nombre del control.Propiedad=Proposicin
Label1 Font Arial
Label2 Caption Carlos
BackColor QBColor(10)

PUNTO OBLIGATORIO SIGNO = OBLIGATORIO

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
o nmero entre las comillas dobles. Pruebe otras letras/nmeros en fuentes especiales.
ES HABITUAL EMPLEAR LA ACCIN CLICK PARA INSTALAR UN EFECTO,
Y DBLCLICK (dobleclic) PARA BORRARLO O CAMBIARLO. 28
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
ilustraciones buscadas con el explorador.
c) Tendremos varios lbl a los que inicialmente se les declarar
(en el cuadro Propiedades) como Caption una letra
en fuente especial, lo que instalar una ilustracin
d) Y otros lbl (o img) que forman el panel de imgenes.
e) La accin de pasar ilustraciones del panel de imgenes a
los lbl puede realizarse:
Con Click y DblClick en cada lbl para
pasarle imgenes del 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
para pasarla a uno o ms lbl.

En este caso los controles del panel deben tener la propiedad Visible True. 29
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:

EJERCICIO 9.
Se trata de una presentacin interactiva para mostrar
elementos grficos, como pueden ser fotos familiares
o paisajsticas. Este ejemplo est diseado con dos
Label y varios Image. Proceda as:
a) Busque una ilustracin como marco adecuado.
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 de ocultamiento, sin ilustracin y con BackColor
igual al del lbl2 . El panel se oculta con Visible False.
Panel de
imgenes
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:


If: si
g) Finalmente, para Then: entonces
cerrar el lbum digital ElseIf: pero si
con dobleclic en lbl1: (Ver ms adelante)

Se reinstalan en lbl1 las instrucciones inicialmente escritas en Caption, y se


instala en lbl2 la img de ocultamiento, regresado todo a la posicin inicial.
32
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 conociendo mediante la prctica.
33
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:

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,
(todas las que quiera), declare sus propiedades e instale las fotografas.
Incluya tambin un img de ocultamiento, sin ilustracin y con BackColor
igual al del lbl1. Este panel de imgenes se oculta con Visible False. 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 que se incorpora al cdigo.
g) El cdigo a escribir para el cmd2 (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:

Aqu la sentencia condicional


El lbl2 (auxiliar) permite el funcionamiento del operador IfThenElseIf se complementa
lgico And. Como, ve en la primera parte del bloque de con operadores lgicos, que
instrucciones, la condicin bsica es que el lbl2 muestre el significan:
nmero 1, y en la segunda parte, que muestre el nmero And: y
Or: o
2. Si se emplean ms categoras, el cmd de cada una
instalar un nuevo nmero en lbl2 (3,4,5), y en el bloque
de instrucciones cada uno de ellos permitir el
funcionamiento del operador And. 36
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 TextBox. Conviene que sea True.
Acta como un candado, y cuando est cerrado (True) impide que pueda
modificarse en modo de ejecucin el contenido del TextBox.
Permite establecer el mximo de letras a escribir en el TextBox.
Cuando su valor es 0 significa que tal cantidad de letras es ilimitada.
Permite incorporar mltiples lneas al texto. Requiere
EnterKeyBehavoirTrue para funcionar. Conviene que sea True.
Instala a voluntad barras de desplazamiento (vertical/horizontal).
Activa o desactiva la accin de la tecla Tabulador.
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 ms frecuentes.


Las dems podr irlas conociendo mediante la prctica. 37
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.
b) Escribiendo directamente textos cortos en el TextBox en modo de ejecucin.
c) Copiando textos de cualquier tamao y pegndolos en el TextBox en modo de ejecucin.
Veamos cmo:
EJERCICIO 11:
a) Instale un TextBox con las propiedades ms usuales, y abra la diapositiva en modo de
ejecucin.
b) Conoce esta accin en PowerPoint? Es muy til para este caso: con clic derecho sobre la
vista en pantalla abra un cuadro de 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 pueda ser editado, active Locked True en el
cuadro Propiedades.
Ejercite las diversas formas para incorporar texto a un TextBox. 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) del TextBox muestra los eventos que pueden
usarse con este control (no existe Click):
EJERCICIO 12:
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 mayscula. Otro comodn que puede
emplearse es Like # para sustituir cualquier nmero (solo o en una cadena numrica).
OPERADORES LGICOS Y DE COMPARACIN:
El evento Change otorga a los TextBox ilimitadas posibilidades, 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:), con operadores lgicos
And/Or, as como tambin con operadores de comparacin
Los operadores de comparacin permiten comparar un valor (o expresin) con otro de tipo
semejante, estableciendo si son iguales o diferentes entre s, o si uno es mayor o menor que
otro. Son 6 los operadores de este tipo a emplear en VBA:
Todos los operadores de
= Igual que (resultado Verdadero) Comparacin entre comparacin devuelven como
<> Desigual que (resultado Falso) nmeros o textos resultado: Verdadero (True) o
> Mayor que (ej.: 6>2) Falso (False). Con estos
Comparacin operadores no se pueden usar
< Menor que (ej.: 2<6)
entre valores comodines Like, pues, estos solo
>= Mayor o igual que numricos
<= Menor o igual que van con operadores lgicos.
Veamos el siguiente ejemplo: 40
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 palabra, y no requieran construir oraciones. 41
b) Escriba el siguiente cdigo para el cmd2:

Como se ve, el cdigo se construye con la sentencia condicional IfThenElseIf, 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).
Los operadores lgicos And y Or no pueden usarse juntos en una misma lnea de
instrucciones, pues eso trastorna el programa. Hay que escribir una lnea para cada uno.
42
La instruccin SelText es fundamental, y
tambin para borrar el texto que se
EJERCICIO 14: traslada. Si no quiere borrarlo, no utilice.
Para pasar texto de un textbox a otro:
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 que el
cursor del mouse entre y salga del txt se actualizarn la fecha y la hora. Si solo quiere ver
la fecha ponga Date en el cdigo, y para ver solo la hora ponga Time.
Esta propuesta se complementa con el siguiente ejercicio 43
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.
c) Para este generador aleatorio de acciones escriba el siguiente cdigo:

Se usa el comodn Like, en sus tipos # (para nmeros) y * (para


caracteres de letras y 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)
hasta cada valor terminado en 0 (10,20,30,40,50,60).
Cada nmero en una sentencia condicional (del 1 al 0) genera un
nmero consecutivo (del 1 al 10) en el txt auxiliar.
Con el procedimiento Change, todos los cambios de nmeros en el txt auxiliar generarn, al
margen de la voluntad del usuario, hasta 10 acciones diferentes en otros controles (lbl, img,
cmd, txt) instalados en la presentacin, las que se ejecutarn aleatoriamente cada vez que el
cursor del mouse se detenga en el txt1 y se actualice la hora.
44
Botn de
Etiqueta Control de Imagen Comando Caja de Texto
Label (lbl) Image (img) CommandButton TextBox (txt)
(cmd)
Con estos 10 controles y mucha
creatividad, resolveremos Barra de Botn de Opcin
todos los problemas. Veamos Desplazamiento OptionButton
ahora los 6 restantes ScrollBar (scr) (opt)

Casilla de Control de
Verificacin Nmero
CheckBox (chk) SpinButton (spn)

Formulario de
Cuadro de Lista
Usuario
ListBox (lst)
UserForm (frm)

(Haga clic en un cuadro para ir al contenido) 45


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 conociendo mediante la prctica. 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.
HAGAMOS LA SIGUIENTE PRCTICA:
EJERCICIO 17:
a) Instale un scb1 horizontal con 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 pueden aportar soluciones interesantes.
47
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 punto de seleccin estar 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 conociendo mediante la prctica. 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).


Se emple fuente especial Webdings para los Caption, generndose ilustraciones.
Se usaron colores diferentes para los BackColor, crendose un circuito llamativo.
HAGAMOS LA SIGUIENTE PRCTICA:
EJERCICIO 18:
a) Instale varios opt, formando una matriz, y declare sus propiedades.
b) Instale un lbl1, con tamao grande para poder mostrar oraciones extensas.
c) Escriba este cdigo a cada opt:
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 mostrar mensajes o ilustraciones,
generar movimientos, activar/desactivar controles, etc., para resolver sus mltiples
necesidades de programacin. 49
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 punto de seleccin estar 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 conociendo mediante la prctica. 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 circular. Funcionalmente las diferencias son mayores.
La principal 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 El uso de
Value False). As, solamente un OptionButton podr estar activo CheckButton es
(tener el focus del programa) cada vez. muy valioso para
elaborar sistemas
Por su parte, los CheckBox en una matriz de controles no se excluyen de comprobacin
unos a otros, por lo que pueden marcarse varios a la vez, de conocimientos,
incrementndose las opciones de seleccin. Para desmarcar un al permitir la
CheckBox (pasarlo al estado Value False) ya seleccionado hay que seleccin de
hacer clic nuevamente en l. Para operar en modo de ejecucin un diversas
CkeckBox (al igual que un OptionButton) mediante cdigos, se escribe respuestas dentro
la instruccin Value True. Para desmarcarlo se escribe Value False. de una lista de
Al igual que los TextBox y los OptionButton, los CheckBox cuentan alternativas. Esto
entre sus procedimientos con el evento Change (tambin poseen Click se incrementa al
y los dems habituales), lo cual permite generar acciones con su combinarlos con
operacin mediante cdigos, cambiando su estado de activo a OptionButton.
inactivo, o viceversa. 51
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 puede alcanzar.


Aqu se escribe la 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 conociendo mediante la prctica. 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, cuando est en forma horizontal. Su principal
propiedad es Change, que permite las variaciones numricas establecidas.
EJERCICIO 19:
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
se producen en lb1 diversas acciones
complementarias entre s.
Para regresar un SpinButton al valor inicial instale un cmd y escrbale el cdigo para Click:
SpinButton().Value = 0 53
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 valor 1 es adecuado.


Si se pondr (True) o no (False) un encabezamiento a cada columna.
El ancho que tendr cada columna. El valor 1000 pt es adecuado.
SI la lista estar disponible (True) o no (False) en un 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 conociendo mediante la prctica. 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
de un TextBox. HAGAMOS LA SIGUIENTE PRCTICA:
EJERCICIO 20:
a) Instale un lst1, un lst2 y un txt1. Pngales las propiedades bsicas.
b) Escriba el siguiente cdigo:
c) 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 block de
notas) y pegndolo con Ctr+V
(ver diapositiva 38).
d) Haga DblClick en txt1 y lo all escrito pasar al lst1 , conformando una lista de opciones.
Tenga presente que debe pasar cada opcin por separado. Esto 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 en el lst2, pero sin borrarse del lst1.
DE ESE MODO PODR CONFORMAR SU RELACIN DE DECISIONES, SELECCIONADAS DE
UNA LISTA DE POSIBLES OPCIONES. 55
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 Con clic en este botn se inserta


botn se inserta el cuadro de Propiedades
un Formulario de
Usuario nuevo en Con clic en este botn se inserta
el rea de diseo el cuadro de Herramientas 56
En el cuadro de Los controles se instalan en un
Herramientas estn los Userform como se hace en una
diapositiva, y se les otorgan las
controles ya conocidos Propiedades vistas anteriormente.
(y otros que no HAGAMOS LA SIGUIENTE PRCTICA:
usaremos en VBA):
EJERCICIO 21:
a) Instale un frm con BackColor Verde,
ScrollBars Both, en Caption escriba
PRUEBA, StarUpPosition Manual,
Picture (busque una adecuada en
su explorador), PictureAlignment
Label Left, PictureSizeMode Zoom. Dele
TextBox el tamao que quiera, usando los
ListBox puntos dimensionales.
CheckBox b) Instale en la parte inferior central
OptionButton del frm un cmd1 (seleccinelo del
CommandButton cuadro Herramientas) y dele
ScrollBar propiedades bsicas.
SpinButton c) Instale en la parte superior central
Image del fmr un txt1 con propiedades
Cursor para bsicas. Emplee BackStyle
seleccionar Transparent, Font de tamao
objetos grande, y ForeColor contrastante.
(Sigue a continuacin) 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 ejecucin.
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 ejecucin para ejecutar mltiples acciones, como la aportacin de instrucciones, de textos
al margen, de listas con elementos y opciones, de soportes para escribir en pantalla, etc.
HAGAMOS LA SIGUIENTE PRCTICA:
EJERCICIO 22:
a) Instale un frm igual al del Ejercicio 21, pero en Caption escriba INSTRUCCIONES.
b) Instale en el frm un txt1 con las 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
el frm en la diapositiva, y si el txt tiene la propiedad Locked False
podr escribir en l. 58
Al otorgarle propiedades a un frm Ud. puede Luego de abrir un UserForm es posible
decidir en qu lugar de la diapositiva quiere desde un control instalado en l accionar
que aparezca (lo ms comn es en el centro). sobre una diapositiva, o viceversa,
Pero podr moverlo a voluntad en modo de empleando cdigos como los que se
ejecucin si le declara como propiedad ejemplifican a continuacin:
StartUpPosition Manual, lo cual es muy Slide().Label()=()
conveniente. UserForm().Label()=()
Tambin podr regular en modo de diseo el En el primer caso el cdigo se escribe en el
tamao del frm que confecciona, mediante las frm y opera en la diapositiva (slide). En el
flechas dimensionales en sus extremos. Y as segundo caso se escribe en la diapositiva
podr ocupar un espacio semejante al de la (slide) y opera en el frm (entre parntesis
diapositiva donde aparecer. van los nmeros y la proposicin).
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 vaya seleccionando.
ESTO LE PERMITIR CONFECCIONAR UNA
PRESENTACIN DE POWERPOINT CON UNA
SOLA DIAPOSITIVA, EN LA QUE TODO EL
CONTENIDO SE MUESTRE EN VARIOS frm QUE
SERN OBSERVADOS UNO A UNO, SEGN SU
VOLUNTAD.
59
Las estructuras de control son cdigos encargados
de determinar el flujo de ejecucin de
un programa, permitiendo realizar un proceso
repetidas veces en funcin de los denominados
bucles, o ciclos de instrucciones. Los lenguajes de
programacin tienen estructuras de control
similares, y bsicamente lo que vara entre ellas
es su sintaxis. En VBA estudiaremos las siguientes:

Sentencias
condicionales
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 Funciones Variables
profundidad lo referente al manejo de
controles, le sugiero prestar toda su
atencin al siguiente contenido 60
Ya desde la diapositiva 32 conocimos las posibilidades de
Sentencias las sentencias condicionales, muy usadas en programacin.
condicionales Con ellas se puede:
De acuerdo a una condicin, ejecutar un grupo u otro de instrucciones (IfThenElse/ElseIf).
De acuerdo a casos variables, ejecutar un grupo u otro de instrucciones (SelectCase).
(Existen otras sentencias condicionales, pero son suficientes estas dos para los fines de este curso).

SENTENCIA IF SIMPLE:
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 bloque
de instrucciones 1, de lo contrario, se ejecuta el bloque 2.
b) Se pueden plantear simultneamente mltiples premisas: 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 ejecuta el bloque
de instrucciones Else.
Cada condicin
tiene la estructura:

Como ya se conoce, puede combinarse con operadores lgicos o


de comparacin, y siempre termina con End If.. 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.
b) Cuando se encuentra la primera coincidencia se ejecuta el bloque de instrucciones
correspondiente y se cierra la estructura Select-Case. Si no se encuentra coincidencia con
algn valor, se ejecuta el bloque de instrucciones Case Else.
Presenta dos variantes: La condicin inicial
tiene la estructura:

SELECT CASE IS:


Luego de escribir la condicin inicial se escribirn los Case
(casos condicionales) , que en esta variante estn formados
por: (Case Is)(operador de comparacin)(valor numrico).
Luego se escribe el bloque de instrucciones a ejecutar. Siempre
se termina con End Select en ambas variantes.
SELECT CASE TO:
Luego de escribir la condicin inicial se escribirn los Case,
que en esta variante estn formados por: Case (nmero
menor) To (nmero mayor). Luego se escribe el bloque de
instrucciones a ejecutar mientras el valor numrico en el
control est dentro del rango indicado (1 al 15 en este ejemplo).
(En los ejemplos se us un txt como control. Tambin puede utilizarse un lbl, con igual resultado). 62
En programacin, una funcin es un grupo de instrucciones
Funciones que se ejecuta al ser llamada desde otra funcin o
procedimiento, para entregar un resultado.
Pueden ser llamadas 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:
Los parmetros, que son los valores de entrada. Generalmente las
El cdigo, que son las operaciones, o proceso, que realiza. funciones inician su
El resultado, que es el valor final que entrega a la salida. cdigo con la variable
int (Integer).
FUNCIN 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).
#: se escribe el valor mayor que puede alcanzar la funcin (1000, por ejemplo).
*Rnd + 1: esta frmula generar aleatoriamente un nmero entero del 1 al 1000.
EJERCICIO 23:
a) Instale un txt1, con sus propiedades bsicas.
b) Escriba el siguiente cdigo:
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 txt como para un lbl. 63
FUNCIN 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 orden: mensaje,diseo+botones,titulo.

EJERCICIO 24:
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.
a) 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 :
Recuerda
Ttulo: para escribir entre comillas dobles el ttulo que tendr el haber visto esto
MsgBox al mostrarse. en aplicaciones
Diseo: para escoger un signo (?...) con que ilustrar el MsgBox. de Windows?
Cmo se hace?
Mensaje: para escribir entre comillas dobles la instruccin que Lo aprender a
aparecer en el MsgBox. continuacin
Botones: para escoger la opcin de seleccin del MsgBox. 64
Para escribir el cdigo al control empleado (generalmente un cmd), se escribe el nombre de la
funcin. Escriba al final un parntesis ( y se mostrar la lista de argumentos
Nombre de la funcin

mensaje, diseo+botones, titulo


El elemento en turno 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 finalmente as

Termine de escribir el cdigo empleando una sentencia condicional 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 DISEO LAS OPCIONES DE BOTONES
MS COMUNES (Y LOS MS COMUNES (Y SUS Sin importar cuntos botones de
SMBOLOS QUE ACCIONES) SON:
comando existan en un MsgBox,
IMPLEMENTAN) SON: vbOK: clic en Aceptar slo podr hacerse clic en uno,
vbCritical: letra X vbCancel: clic en Cancelar pues al hacerlo desaparecer de
vbQuestion: interrogacin vbAbort: clic en Abortar
inmediato, y el valor de
vbExclamation: admiracin vbRetry: clic en Reintentar
vbIgnore: clic en Ignorar
respuestas ser solo el del botn
vbInformation: letra i
vbYes: clic en S en que se hizo clic.
vbNo: clic en No 66
FUNCIN 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 (generalmente
un cmd) se ponen el nombre de la funcin y un parntesis ( y de inmediato se mostrar la
lista de argumentos: InputBox(prompt[, title][, default][, xpos][, ypos][, helpfile, context])
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 estudiado ms adelante (diapositiva
70). Por eso veremos ahora este nico caso indispensable:

EJERCICIO 25:
a) Instale un CommandButton 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.
Con este procedimiento se podr cambiar el Caption
de un control en modo de ejecucin. 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 las respuestas que se escriban en ellos se podrn ver en el txt1.
c) El siguiente cdigo para el txt1, con el procedimiento Change ir transfiriendo al 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
cuando sea necesario:
EJERCICIO 27:
Ahora veamos cmo COMBINAR MSGBOX E INPUTBOX para decidir 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 el primer caso su respuesta ir al txt; en el segundo caso no aparecer en l.
69
Las variables son las estructuras de control ms importantes
Variables en todo lenguaje informtico, pudiendo considerarse como la
base de la programacin.
Cada una resulta un rea temporal de almacenamiento de datos 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 texto).

Al declarar una variable se usa la sintaxis: Dim (Nombre) As (Tipo)


El Nombre se forma con el prefijo de su tipo y una palabra clave que la identifique
segn su funcin. Y el Tipo es uno de los 4 expuestos arriba. Por ejemplo:
Dim intResultado As Integer
Es una variable nombrada Resultado, tipo Integer (int), con valor numrico 70
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 ).
intResultado = 571 Contiene una expresin matemtica.
vntResultado= strPrueba Contiene otra variable (se escribe su nombre).
blnResultado=True Contiene una expresin lgica (Verdadero/Falso).
vntResultado=Font Arial Contiene una propiedad del control.
La variable ya declarada y validada podr emplearse para asignar un procedimiento de evento
a cualquier control dentro del programa. HAGAMOS LAS SIGUIENTES PRCTICAS:
EJERCICIO 28:
BUCLE FOR:
Se emplea para repetir la ejecucin de instrucciones n veces, segn la diferencia numrica
entre un valor inicial (#1) y uno final (#2), con un nmero de pasos dados por el valor que se
d a la 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 pueden generarse mltiples acciones a otros controles. A continuacin
se explica cmo proceder 71
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 una secuencia de veces
establecida por Step hasta recorrer la distancia entre los nmeros, como ordena el
cierre obligatorio del bucle (DoEvents/Next). Aqu, por ser paso a paso (Step 1), la
instruccin se cumplir 50 veces, generando igual cantidad de posibles acciones 72
EJERCICIO 29: Se emplea para ejecutar acciones que se repiten, conformando un lazo
(loop), mientras (Do While) se mantengan vlidos los valores empleados
BUCLE WHILE: como premisas. En el Ejercicio 15 instalamos un generador aleatorio de
acciones por variacin numrica constante, basado en la Fecha y Hora
tomadas del sistema para un txt con el procedimiento MouseMove. Ahora
realizaremos un RELOJ DIGITAL que funcione permanentemente con un clic.
a) Instale un TextBox1, un TextBox2 y un SpinButton1 vertical, con propiedades habituales.
b) Escriba el siguiente cdigo al spn1, con procedimientos SpinDow y SpinUp:
c) Escriba este cdigo para
el txt1, con Change: Es el apagado del reloj

La Fecha y Hora instaladas Es el encendido del reloj


inicialmente por el sistema
en txt2, 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 Fecha y Hora
de manera constante.
La sentencia de salida y la instruccin Exit Do evitan que el lazo sea infinito y el sistema se bloquee.
Al final el txt1 se oculta con Visible False, y solo se ver el txt2. 73
EJERCICIO 30:
Quiere hacer esta CALCULADORA? Ver cmo.
Necesita: 2 TextBox
6 CommandButton
a) Declare a estos controles las propiedades 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, pone los BackColor en gris,
y cierra candados en todos los controles (Locked True)
para evitar que puedan accionarse por error.
c) El encendido con Click en
ese botn abre candados en
los txt (Locked 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
(amarillo). Luego escriba un
segundo nmero en el txt1.
74
e) Observe que pasar un nmero del txt1 al txt2 (instruccin 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.
La segunda corresponde al contenido del txt2, y se nombra curPantalla2.

Observe que el tipo de


variable 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 accin.

h) Una ltima
instruccin
permite borrar el
contenido del txt2
para rectificar un
error.

Si quiere una calculadora con teclas, site otros 10 cmd, con


Caption: 1,2,3,4,5,6,7,8,9,0, y d a cada uno el siguiente cdigo:
Con clic, cada cmd incorpora al txt1 el nmero que lo identifica
en su Caption. Pero, para que ese nmero no sustituya al 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=,
sino: TextBox1.Text=0 para que el cdigo encuentre un valor inicial en txt1.
76
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
las Ciencias Informticas definen como

77
La Ingeniera de software es 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, una escritura ordenada de cdigos con claridad y
precisin, una presentacin atractiva y coherente del producto final.
ES UN PROCESO CON 3 COMPONENTES BSICOS:

Intereses y necesidades Desarrollo Producto final


Su desarrollo comprende las 3 siguientes etapas:
Partiendo de los intereses y necesidades planteados se procede a
DISEO concebir el software que se desea, aplicando mtodos heursticos y
(creacin de la creativos, tanto individual como colectivamente. La mayor capacidad
del ser humano es que puede crear un mismo producto dos veces:
interface) primero en su mente, y luego con sus manos lo que imagin. Esta es
una etapa decisiva, donde se construyen las bases que soportarn al
edificio, como resultado de la cual se sabr qu se quiere hacer
Sabiendo qu se quiere hacer se proceder a analizar la dinmica del
PLANIFICACIN software, procurando una comprensin lo ms exacta posible sobre
(algoritmos de cmo funcionar, qu algoritmos, o lgica de ejecucin, hay que
cumplir para llegar al objetivo previsto en el diseo. Para esto es
funcionamiento) indispensable considerar con qu herramientas se cuenta, ya que lo
propuesto tiene que ser absolutamente realizable. Si no se dispone
de herramientas a tal fin, habr que reajustar el diseo.
Habiendo vencido las dos etapas anteriores ya se tendr el 80% del
REALIZACIN xito, pues lo que queda es poner manos a la obra!, en un empeo
(escritura de bsicamente de taller, paciente, persistente, cuidadoso y tcnico, a
fin de aplicar los algoritmos planificados, con el uso de herramientas
cdigos) disponibles para alcanzar los objetivos diseados. De modo que si
todo lo anterior fue bien hecho FELICIDADES! Se tendr un buen
producto final.
El producto final, que es una PRESENTACIN INTERACTIVA, es mejor guardarla con la opcin
PRESENTACIN CON DIAPOSITIVAS DE POWERPOINT HABILITA PARA MACROS,
lo que permitir abrirla directamente en modo de ejecucin, y no en modo de diseo. 79
Algunos Programe Procure programar los controles del mismo
consejos ordenadamente y con tipo en orden numrico. As podr localizarlos
claridad, para que con facilidad dentro del total.
luego pueda revisar Cuando un mismo control deba cumplir varias
bien el cdigo y funciones (Caption, ForeColor...) escrbalas en
analizar su estructura. el orden en que desee se ejecuten. El
Localizar un error en programa siempre "corre" de arriba a abajo.
un cdigo confuso Si eso fuese indiferente, puede agrupar los
puede enloquecer a controles por tipos de funciones. Por ej.:
cualquiera. primero todos los Caption, luego los
ForeColor, y as sucesivamente.

Escribir cdigos que se repiten es sencillo con la posibilidad de


Copiar y Pegar. Seleccione con el mouse (como en un
Pruebe continuamente el procesador de texto) el bloque de instrucciones que quiera
proyecto en desarrollo, y no copiar, y pguelo donde necesite. Como seguramente tendr
espere al final para que cambiar algunos datos en la copia, eso se facilitar del
comprobar cmo va. Y no siguiente modo: estando en el editor de cdigos seleccione el
olvide ir salvando lo texto que peg y haga clic en el cono Buscar, de la barra de
realizado, pues una falla en el mens. En el cuadro que se abrir elija la opcin Reemplazar.
sistema le ocurre a Escriba en la ventana Buscar el texto a cambiar, y el nuevo
cualquiera... y es muy texto en la ventana Reemplazar con. Cercirese que est
lamentable tener que marcada la opcin Texto seleccionado, y haga clic en la tecla
comenzar todo de nuevo. Reemplazar todo.

Nunca diga: Este programa no quiere correr! Si su programa no funciona


puede estar 100% seguro de que contiene un error de Ud. Tmelo con calma y
pngase a revisarlo con detenimiento. La causa puede estar en un imperceptible
punto. El programa es obediente, y har todo lo que se le ordene bien 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 si emplea la opcin PROCEDIMIENTOS GENERALES del editor de cdigos.
a) Haciendo clic en la pestaa de la ventana superior izquierda del editor ver los controles
que estn instalados en la 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
pertenecen a un control.
PRIVATE, para cdigos de eventos, que
pertenecen a un control en particular.
b) Los cdigos que hemos escrito hasta ahora son de tipo privado, vinculados a un control,
como este que se ve, perteneciente al CommandButton1.
c) Como Procedimiento General podrn escribirse cdigos que se cumplan para cualquier
cantidad de controles, como es el caso de las sentencias condicionales. Para eso, haga clic
en la opcin (General) y el cursor del mouse de detendr en la lnea superior del editor.
d) Escriba entonces: Private Sub doPro1 Para un segundo
(seguidamente los bloques de instrucciones) procedimiento escriba doPro2,
End Sub y as sucesivamente.
Cuando quiera usar en un control uno de los Procedimientos Generales guardados, llmelo
escribiendo al inicio de su cdigo: Private Sub CommandButton1_Click()
Call doPro1
ESTO LE AHORRAR TRABAJO Y HAR SU (seguidamente el resto del bloque)
PROYECTO MS COMPACTO Y FUNCIONAL. End Sub 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 AUXILIARES, que se ocultan con Visible False para que cumplan su
funcin sin ser vistos en la interface. Veamos los siguientes ejemplos en este curso:
En el Ejercicio 10 se emplea un Label auxiliar (lbl2) que recoge los nmeros con que se
identifican las diversas categoras a mostrar en el TV digital que se construye en el ejemplo.
Los cambios de 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 en otros controles del proyecto. En el Ejercicio 17
se emplea un Label auxiliar (lbl1) cuyas variaciones numricas por el recorrido del ScrollBar
generan mltiples acciones en otros controles del proyecto.
Acuda a los CONTROLES AUXILIARES cada vez que pueda, pues trabajar con ellos es muy fcil.
Por ejemplo: si necesita mover una imagen de un sitio a otro en la interface podr, al
quitarla, pasarla a un control auxiliar, donde la tomar cuando 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 control auxiliar, donde con una sentencia condicional simple podr tomarla para situarla
en otra casilla que est vaca. PRUBELO EN SUS PROYECTOS!
82
Para tener xito como desarrollador de softwares en
cualquier lenguaje de programacin, se requieren

Si me pregunta:
cul es el mejor
lenguaje de
Conocimientos programacin?
Imaginacin Mi respuesta es:
FACTORES el que ms Ud.
Creatividad domine para
APTITUDINALES
(qu poseo?) Concentracin resolver sus
Capacidad de anlisis intereses y
necesidades
Voluntad
FACTORES Decisin
ACTITUDINALES Constancia
(cmo acto?) Ecuanimidad
Autocrtica

83
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.

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
y abuelos para apoyarlos

Si es un educador, podr elaborar juegos y


sistemas ldicos para la comprobacin de
conocimientos, con el empleo de
herramientas de programacin fciles de
aprender y usar, elevando as la
motivacin en su desempeo docente

Si es un profesional en cualquier rama, podr elaborar


presentaciones interactivas de 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 el contenido en una sola
diapositiva, con pantallas que se abrirn a
su voluntad mediante cdigos 84
CURSO

Gracias
por darme la
oportunidad de
compartir con Ud. mis
conocimientos!
viernes, 28 de Julio de 2017

También podría gustarte