PDF de programación - Capítulo 3. Cuadros de diálogo (Userforms)

<<>>
Imágen de pdf Capítulo 3. Cuadros de diálogo (Userforms)

Capítulo 3. Cuadros de diálogo (Userforms)gráfica de visualizaciones

Publicado el 9 de Julio del 2019
458 visualizaciones desde el 9 de Julio del 2019
260,5 KB
8 paginas
Aula Macedonia

Curso de Programación en VBA para Excel

Artículo realizado por
Iñaki Ecenarro. 

Capítulo 3. Cuadros de diálogo (Userforms).

Este  capítulo  va  a  tratar  sobre  los  cuadros  de  diálogo,  que  se  utilizan  para  obtener  información  del  usuario.  Una
aclaración  respecto  a  versiones:  uno  de  los  cambios  más  importantes  de  Excel  95  a  Excel  97  en  el  apartado  de
programación es la parte de cuadros de diálogo. La verdad es que hay muchas diferencias entre ambos y eso hace
imposible hablar de las dos versiones a la vez, por lo que este capítulo está dirigido sólo a Excel 97.

Todos los ejemplos de este capítulo están incluídos en este fichero: Excel3.xls
(117kbs)

Los cuadros de diálogo en Office 97 son mucho más potentes que en la versión anterior. Se han añadido muchas
opciones, como la posibilidad de definir eventos, utilizar controles ActiveX además de los incluidos en Excel (si no
sabes  qué  es  un  control  ActiveX  no  tiene  demasiada  importancia,  es  un  tema  avanzado  que  quizá  algún  día
tratemos), etc.

Nuestro primer cuadro de diálogo va a ser muy sencillo: vamos a presentar un cuadro de diálogo en el que el usuario
puede introducir un número, y si pulsa "Aceptar" copiaremos el número introducido en la celda activa. Si el usuario
pulsa "Cancelar" no haremos nada.

Lo  primero  es  ir  al  editor  de  Visual  Basic,  utilizando  la  opción  "Herramientas,  Macro,  Editor  de  Visual  Basic",  o
simplemente pulsando Alt­F11.

En la parte izquierda de la pantalla tendremos el "Explorador de Proyectos" y la ventana de "Propiedades". Igual que
antes,  si  no  puedes  ver  estas  ventanas  utiliza  el  menú  "Ver"  para  hacer  que  aparezcan.  En  el  "Explorador  de
Proyectos" aparecen todos los "proyectos" de VBA: cada libro que tengamos abierto es un proyecto. Dentro de cada
libro aparecen todas las hojas del libro y también los módulos y cuadros de diálogo que crearemos más adelante.

En la ventana de "Propiedades" aparecen las propiedades del objeto que tengamos seleccionado en ese momento.
Supongo que a estas alturas ya debe estar claro el concepto de "propiedad" de un objeto. Por ejemplo, vamos a ir a
un proyecto de VBA en el "Explorador de Proyectos". Dentro de él veremos las hojas de cálculo del libro, y vamos a
seleccionar una de ellas. En la ventana de "Propiedades" van a aparecer las propiedades de la hoja seleccionada.
Por  ejemplo,  la  primera  propiedad  que  vemos  es  la  propiedad  Name,  que  ya  conocemos.  Podemos  utilizar  la
ventana de "Propiedades" para cambiar las propiedades del objeto seleccionado.

Ahora para crear nuestro cuadro de diálogo vamos a utilizar la opción "Insertar, Userform" (Userform es el nombre
que da Excel 97 a los cuadros de diálogo).

En este momento vemos en la parte derecha un cuadro de diálogo vacío, y por otro
lado veremos el "Cuadro  de  herramientas",  en  el  que  están  todos  los  controles
que  podemos  poner  en  el  cuadro  de  diálogo.  Si  no  aparece  el  Cuadro  de
Herramientas utiliza la opción "Ver, Cuadro de herramientas" para que aparezca.

Los controles del "Cuadro de herramientas" son los típicos de cualquier cuadro de
diálogo que podemos ver en cualquier aplicación de Windows:

Etiqueta: para
mostrar un texto
en el cuadro de
diálogo. El usuario
no puede editarlo.
Cuadro de texto:
para que el
usuario introduzca
un texto.
Cuadro
combinado: el
clásico control de
persiana para que
el usuario
seleccione una
opción entre
varias.
Cuadro de lista:
para que el usuario seleccione una opción de entre las que le presentamos.
Casilla de verificación: verdadero o falso
Botón de opción: también para que el usuario seleccione una opción entre varias.
Botón de comando: un botón normal y corriente, como los típicos de "Aceptar" y "Cancelar"
Marco: para agrupar varios controles. Su uso es básicamente por razones estéticas. Como puedes ver en el
diálogo de ejemplo un marco puede tener distintas apariencias.

Primero  vamos  a  ver  las  propiedades  del  objeto  UserForm.  Para  ello  seleccionamos  el  Userform  de  la  parte
derecha simplemente pulsándolo con el ratón. En la parte inferior izquierda, en la ventana de Propiedades, tenemos
la  lista  de  propiedades  del  objeto  UserForm.  Utilizando  esta  ventana  podemos  cambiar  el  valor  de  cualquier
propiedad del Userform. Algunas de las propiedades más importantes son:

Name: el nombre con el que vamos a identificar el UserForm. Tiene que ser único y no puede tener espacios
ni otros caracteres raros. Yo suelo ponerles un nombre que empiece por "uf" (por ejemplo,
ufDatosPersonales), porque así cuando en el código VB haga una referencia a este objeto sé que se trata de
un objeto UserForm.
Caption: es el título que el usuario verá en el cuadro de diálogo. Se puede poner cualquier texto, incluyendo
espacios.
BackColor: el color de fondo del cuadro de diálogo. Por defecto es el color gris que suelen tener todos los
cuadros de diálogo en Windows.
ForeColor: el color de primer plano, es decir, del texto que aparezca en el cuadro de diálogo.
Font: el tipo de letra por defecto para el cuadro de diálogo. Este es el tipo de letra que tendrán todos los
controles que insertemos en el cuadro de diálogo, pero si luego queremos cambiarlo para cualquier control
puede hacerse.
StartupPosition: la posición en la que aparecerá el cuadro de diálogo. Si le damos el valor "CenterScreen" el
diálogo saldrá en el centro de la pantalla.
SpecialEffect: para cambiar un poco los bordes del cuadro de diálogo.
Picture, PictureAlignment, PictureSizeMode, PictureTiling: se utilizan para poner un dibujo como fondo
del cuadro de diálogo.

Hay más propiedades, pero su uso es bastante sencillo, y consultando la ayuda encontrarás la descripción de todas

las propiedades.

Vamos con nuestro diálogo: lo primero es cambiarle el nombre; vamos a la ventana de Propiedades y en la propiedad
Name, escribimos por ejemplo "ufPrimero". Luego en la propiedad "Caption" escribiremos "Mi primer UserForm". Las
demás  propiedades  las  dejamos  como  están,  aunque  si  quieres  cambiar  alguna  que  afecte  a  la  presentación  del
diálogo (color de fondo, efectos especiales, etc) puedes hacerlo tranquilamente.

En  cualquier  momento  puedes  probar  tu  cuadro  de  diálogo  seleccionándolo  con  el  ratón  y  utilizando  la  opción
"Ejecutar,  Ejecutar  Sub/Userform"  (o  más  rápido  pulsando  F5  o  el  botón  de  ejecutar 
).  Para  cerrar  el  diálogo
tendrás que utilizar la "X" que aparece en la parte superior derecha, porque todavía no hemos añadido ningún botón
para cerrar el diálogo.

Como  hemos  dicho  antes,  en  nuestro  cuadro  de  diálogo  queremos  que  el  usuario  escriba  un  número.  Para  que
pueda hacerlo, tendremos que poner un cuadro de texto en el diálogo. Para ello pulsamos en el UserForm para que
aparezca  el  "Cuadro  de  Herramientas"  y  en  éste  pulsamos  sobre  el  control  "Cuadro  de  Texto" 
.  Una  vez
seleccionado el "Cuadro de Texto" pulsamos en cualquier parte del UserForm y veremos que aparece un cuadro de
edición. Podemos utilizar el ratón para moverlo y cambiarle el tamaño.

Pulsando con el ratón, seleccionaremos el cuadro de edición, y como de costumbre veremos que en la ventana de
"Propiedades" aparecen todas las propiedades del objeto "Cuadro de Texto" (TextBox  en  inglés),  entre  las  que  se
encuentran:

Name: el nombre del objeto. Como antes, no puede incluir espacios ni caracteres especiales. Yo suelo
utilizar nombres que empiecen por "tb", para identificar estos objetos como un TextBox, pero se puede utilizar
cualquier nombre.
Text: es el texto que va dentro del cuadro de edición, es decir, el que ha escrito el usuario.
TextAlign: alineación del texto dentro del cuadro de diálogo. Normalmente si lo que queremos es que el
usuario introduzca una cadena de texto se suele alinear a la izquierda, y si queremos que introduzca números
se suele alinear a la derecha.
MultiLine: los valores posibles son verdadero y falso, indicando si queremos que el control permita al usuario
escribir más de una línea o no.

Las  propiedas  sobre  la  apariencia  del  control  son  parecidas  a  las  que  hemos  visto  antes  (BackColor,  ForeColor,
SpecialEffects).  El  resto  de  propiedades  se  pueden  consultar  en  la  ayuda.  Aunque  parezca  que  nos  estamos
dejando  muchas  cosas,  una  vez  que  empezamos  a  tener  claras  las  cosas  el  utilizar  propiedades  que  no  hemos
usado nunca es muy sencillo. O sea, que por ahora nos centramos en lo básico.

Bueno, ahora vamos a nuestro cuadro de diálogo. Seleccionamos nuestro cuadro de edición, lo colocamos en una
posición que nos guste, y vamos a las propiedades. Primero la propiedad Name, que en este caso vamos a dejar tal
como está, TextBox1. No suele ser aconsejable dejar estos nombres, porque si tienes varios cuadros de edición en
un  diálogo  al  final  no  sabes  a  cuál  te  estás  refiriendo,  pero  como  en  este  caso  sólo  vamos  a  tener  un  cuadro  de
edición  no  nos  importa  demasiado.  Ahora  vamos  a  la  propiedad  "TextAlign"  y  vamos  a  seleccionar  la  opción
"fmTextAlignRight"  para  alinear  el  texto  a  la  derecha,  ya  que  lo  que  queremos  es  que  le  usuario  introduzca  un
número. Por ahora no vamos a hacer nada más con este control.

Si  ejecutamos  el  cuadro  de  diálogo  veremos  que  podemos  introducir  un  valor  en  el  cuadro  de  edición  que  hemos
creado, pero aparte de eso no podemos hacer mucho más.

Lo siguiente que vamos a hacer es poner un texto descriptivo para el cuadro de edición. Para ello seleccionamos del
"Cuadro  de  herramientas"  el  control  "Etiqueta" 
,  y  pulsamos  en  el  UserForm  para  crear  un  control  del  tipo
etiqueta.  Utilizando  el  ratón  le  podemos  cambiar  el  tamaño  y  moverlo,  para  ponerlo  a  la  izquierda  del  control  de
edición que hemos creado antes.

En  la  ventana  de  propiedades  de  nuestro  nuevo  control  (recu
  • Links de descarga
http://lwp-l.com/pdf16244

Comentarios de: Capítulo 3. Cuadros de diálogo (Userforms) (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad