Introducción
Este proyecto hará uso de un cuadro de diálogo hecho a la medida para
recoger información del usuario. Dicho cuadro de diálogo personalizado, llamado
formulario de usuario, se crea y funciona con VBA. En esta segunda parte del
tutorial crearemos un formulario de usuario para recopilar toda la información
necesaria para completar el documento creado en la primera parte del tutorial.
En el documento, el formulario de usuario y su correspondiente código
VBA están contenidos dentro del mismo archivo. El trabajo de construcción y
codificación del formulario de usuario se realiza a través del Editor de Visual
Basic de Word.
El Editor de Visual
Basic
Para este paso se necesita el documento abierto en Word, aunque el
trabajo de construir el formulario de usuario se llevará a cabo en el Editor de
Visual Basic. Abra el Editor de Visual Basic, vaya a Herramientas> Macro>
Editor de Visual Basic o utilice la combinación de teclas Alt + F11. A menos
que haya realizado previamente cambios aquí, el Editor de Visual Basic abre con
una ventana de código vacío, con el Explorador de proyectos y Propiedades
paneles muestran a la izquierda de la ventana principal. Si no se muestran, se
puede cambiar los iconos del Explorador de proyectos y Propiedades en el menú
Ver.
El panel Explorador de proyectos se utiliza para navegar a través de los
diversos objetos que se va a trabajar. Funciona un poco como Windows Explorer
con elementos agrupados en una jerarquía de carpetas. Aquí se puede ver una
referencia a los documentos abiertos actualmente: la plantilla normal (que se
abre y se oculta cuando Word abre) y la letra que está trabajando. En este
ejemplo, a la carta se ha dado el nombre de archivo InterviewLetter.doc.
Cualesquiera otros documentos abiertos serán enumerados aquí también.
En el panel Explorador de proyectos, haga clic en el nombre de su carta
documento para seleccionarlo e ir a Insertar> formulario de usuario. Esto
abre un formulario de usuario en blanco en la ventana de código, y una entrada
para el formulario de usuario en el panel Explorador de proyectos, y muestra la
caja de herramientas ...
Que va a utilizar el formulario de usuario en blanco para construir un
cuadro de diálogo personalizado para ayudar a su usuario complete la letra automáticamente.
La caja de herramientas contiene todos los objetos que pueda necesitar para
poner en su forma. Si no aparece o bien haga clic en el botón Cuadro de
herramientas en la barra de herramientas del Editor de Visual Basic o ir a
Ver> Caja de herramientas.
Nombre y Subtítulo el
formulario de usuario
En el Explorador de proyectos, haga clic en UserForm1 para seleccionarlo
y luego pasar a la ventana Propiedades de abajo. La ventana Propiedades muestra
una lista de las propiedades del objeto seleccionado en ese momento, en este
caso el propio formulario de usuario.
Cambie la propiedad Name a algo más significativo (nombres de objeto no
debe contener espacios y es costumbre para prefijar nombres de formulario con
el código de FRM). En este ejemplo se utiliza el nombre de la invitación
Entrevista frm.
Cambie la propiedad Caption a lo que le gustaría ver en la barra de
título del formulario (la banda de color en la parte superior de cada cuadro de
diálogo y ventanas). Esto es lo que el usuario verá en el cuadro de diálogo
para elegir algo adecuado. En este ejemplo se utiliza el título a la invitación
entrevista.
El siguiente paso es añadir objetos, llamados controles al formulario.
Los controles pueden adoptar la forma de un cuadro de texto (se utiliza para
introducir texto libre), un cuadro combinado (que ofrece al usuario una lista
desplegable de opciones, un grupo de opciones (donde el usuario puede hacer una
elección haciendo clic en botones de radio), un CheckBox (donde el usuario
coloca una marca de verificación para seleccionar un elemento) o un botón de
comando (que el usuario hace clic para dar una instrucción).
Hay varios otros controles en la caja de herramientas Editor de Visual
Basic y más se pueden añadir (tal como un Calendario) en forma de controles
ActiveX.
Adición de un cuadro
de texto
Si usted requiere solamente la introducción de texto por parte del
usuario, un control de cuadro de texto será suficiente. Haga clic en la
herramienta Cuadro de texto en la caja de herramientas y haga clic en alguna
parte en el formulario de usuario. Un control de cuadro de texto seleccionado
aparece en el formulario de usuario.
Se puede mover el control arrastrando uno de sus bordes, o cambiar su
tamaño arrastrando uno de los rectángulos blancos alrededor de su borde.
Cambiar el tamaño del cuadro de texto y arrastrarlo a una posición adecuada en
el formulario de usuario, dejando suficiente espacio para una etiqueta si va a
agregar uno.
Mover la etiqueta a su posición correcta y anular la selección para que
pueda ver cómo se ve. Puede comprobar su aspecto final presionando F5 para
previsualizar el formulario.
La adición de una
etiqueta
La mayoría de los controles necesitan una etiqueta. Haga clic en la
herramienta de etiqueta en la caja de herramientas y haga clic en el formulario
de usuario para crear una etiqueta. El nombre de la etiqueta no es realmente
importante en este caso, pero su contenido es. Puede añadir contenido a una
etiqueta, ya sea haciendo clic dentro de la etiqueta y escribir directamente en
ella, o cambiando la propiedad Caption de la etiqueta en el panel Propiedades.
Las variaciones de
cuadro de texto
Por defecto, un cuadro de texto permite sólo una línea de texto. Esto
está bien para la mayoría de los casos (como el nombre del destinatario) pero a
veces desea que el usuario pueda introducir varias líneas, como será el caso
con el cuadro de texto Dirección del destinatario. El control se extrae de la
misma manera pero esta vez establecer la propiedad Multiline a True.
Normalmente usted también desee proporcionar una barra de desplazamiento por lo
establezca la propiedad ScrollBars a 2-fm barras de desplazamiento vertical.
Al introducir datos en este tipo de cuadro de texto el usuario debe
pulsar Ctrl + Enter o Shift + Enter para crear una nueva línea. Otra opción es
la de establecer la propiedad EnterKeyBehavior del cuadro de texto en True. Al
hacer esto, el usuario puede crear una nueva línea en el cuadro de texto con
sólo pulsar la tecla Intro.
NOTA: Usted puede ofrecer consejos para los usuarios, haciendo uso de la
propiedad ControlTipText de un control. Introduzca un mensaje corto que le
gustaría aparecer como una nota de la herramienta cuando el usuario coloca el
ratón sobre el control ...
Las opciones de un
cuadro combinado.
Un cuadro combinado proporciona una forma sencilla de ofrecer una lista
desplegable de entradas relacionadas a partir del cual el usuario puede hacer
una elección. Dibuje un cuadro combinado de la misma manera como lo haría un
cuadro de texto, usando la herramienta ComboBox.
Cuando se utiliza un cuadro combinado se puede elegir si se permite o no
al usuario realizar cualquier entrada, utilizando el control como un cuadro de
texto, o para limitar sus entradas a los de su lista. Si desea limitar al
usuario a la lista que debe establecer la propiedad MatchRequired del cuadro
combinado en True.
Utilice la propiedad Name para dar a su cuadro combinado de un nombre
significativo. Se acostumbra a utilizar el prefijo CBO al nombrar los cuadros
combinados. Éste se llama cboInterviewLocation.
NOTA: La mayoría de los controles tienen muchas opciones diferentes de
propiedades disponibles. Las propiedades más usadas se establecen como valores
por defecto. Para obtener más información sobre cualquier propiedad, haga clic
en la propiedad en el panel Propiedades y pulse la tecla F1.
La tarea de crear la lista en sí se lleva a cabo mediante un
procedimiento de código cuando se abre el formulario. Que será tratado más
adelante.
Ofrecer opciones con
un grupo de opciones
Los cuadros combinados pueden ofrecer una larga lista de opciones, pero
cuando se quiere ofrecer al usuario a sólo unas pocas opciones a veces un grupo
de opciones es más apropiado. Un grupo de opciones es una colección de botones
de opción (a veces llamados botones de opción) colocados dentro de un marco (en
botones de opción de hecho en un UserForm de VBA no tienen que ser colocado
dentro de un marco para trabajar como un grupo, sino que ayuda al usuario a
comprender que trabajan juntos).
Cuando la construcción de un grupo de opciones que puede elegir si desea
utilizar los botones de opción, casillas de verificación o botones de
alternancia todos los cuales funcionan de la misma manera. Más comúnmente se
utilizan los botones de opción. Cuando se trabaja en grupo, el usuario sólo
puede seleccionar una opción. Si se selecciona otra la elección anterior se
anula la selección.
En este ejemplo, un grupo de opciones se utiliza para ofrecer al usuario una selección de saludos con el que poner fin a la carta.
En primer lugar, elaborar un marco en el formulario de usuario. No se preocupe demasiado por su tamaño exacto y la forma - que se puede ajustar más tarde. Utilice su propiedad Caption para agregar una etiqueta a la parte superior del marco.
Ahora usa la herramienta OptionButton para sacar el número requerido de botones de opción dentro del cuadro, llenando la etiqueta descriptiva de cada uno mediante la introducción de texto en la propiedad Caption o escribiendo directamente en la etiqueta.
Utilice la propiedad Name para dar a cada botón de opción un nombre significativo. En mi ejemplo he llamado a ellos optGreeting1 optGreeting4. Si ha optado por situar sus botones de opción dentro de un marco que se comportarán de forma automática juntos como un grupo. Si prefiere no utilizar un marco - o el deseo de tener más de un grupo de botones - hacer uso de la propiedad GroupName de cada botón de opción. Los controles con el mismo NombreGrupo trabajarán juntos como un grupo, incluso si no están encerrados dentro de un marco.
Añadir los botones de comando
Por último, la forma necesita algunos botones para iniciar las diversas tareas de la forma tiene que realizar. En primer lugar, un botón de OK que dará lugar a que los datos sean transferidos a la carta estándar; un botón Cancelar para cerrar el formulario y cerrar la carta si el usuario cambia de opinión; y (opcionalmente) un botón Borrar formulario para restablecer el formulario a sus valores originales si el usuario quiere empezar de nuevo.
En VBA estos son conocidos como botones de comando. Al igual que los otros controles que se pueden dibujar en el formulario utilizando la herramienta caja de herramientas para botones de comando.
Utilice el panel Propiedades para dar los botones nombres significativos y leyendas. La convención es un prefijo de nombre de un botón de comando con cmd.
Tres propiedades adicionales son útiles al crear botones de comando:
La propiedad del acelerador le permite especificar una carta que el usuario puede escribir como una alternativa a hacer clic en el botón. Esta carta debe ser uno de los incluidos en el título del botón. Esa carta aparece a continuación, subrayada en el título. Para asignar un acelerador a un tipo diferente de control, como un cuadro combinado o cuadro de texto, establezca la propiedad del acelerador de su etiqueta.
La propiedad por defecto, si se define como true, hace que el botón que se hizo clic sobre si el usuario presiona la tecla Enter en su teclado. Esta propiedad sólo debe establecerse en uno de los botones, y normalmente se aplica al botón OK. Mientras que generalmente es útil, es posible que desee omitir esta característica si usted piensa que el usuario es probable que presione Enter antes de que hayan completado el formulario, ya que podría dar lugar a la forma de cerrar prematuramente. El botón "default" también permanece resaltado para indicar su propósito a menos que las lengüetas de usuario a un botón diferente.
La propiedad Cancel, si se establece en True, tiene el efecto de 'clic' en el botón al que se aplica cuando el usuario presiona la tecla (o Esc) en su teclado Escape. Esta característica podría ser útil aplicar al botón Cancelar.
Esto completa el diseño del formulario. Antes de seguir comprobar aún más su apariencia para el usuario mediante la selección de la forma y presionando la tecla F5. Es posible que desee modificar el diseño y las dimensiones de la forma antes de añadir el código VBA (aunque el diseño de la forma puede ser modificada en cualquier momento).
NOTA: Cuando la organización de controles en un formulario, puede mover varios controles a la vez, manteniendo sus posiciones relativas, mediante la realización de una selección múltiple. La forma más sencilla de hacerlo es utilizar el ratón para dibujar un rectángulo de selección que encierra los controles que desea seleccionar. Al soltar el ratón todos los controles cerrados se seleccionan y se pueden mover como una sola.
Establecer el orden de tabulación
Un último paso, pero importante en la creación de la forma es comprobar el orden de tabulación. Este es el orden en que serán visitados los diversos controles cuando un usuario se mueve alrededor del formulario presionando la tecla Tab. Una orden ilógico puede ser muy frustrante para el usuario. Ir a Ver> Orden de tabulación para que aparezca un cuadro de diálogo con todos los controles en el formulario en su orden actual. Utilizar los botones para cambiar el orden si es necesario. Puede pasar por alto los controles de etiqueta, ya que, a pesar de que se enumeran aquí, serán ignoradas por el orden de tabulación.
El formulario completo se muestra a continuación:









No hay comentarios.:
Publicar un comentario