Utilice el código VBA para rellenar un campo de formulario dependiente en Microsoft Word. Susan Harkins nos enseñe cómo.
Muchas plantillas y formularios web utilizan campos de formulario de Word para solicitar información al usuario. Ocasionalmente, la selección en un campo determina el contenido de otro. Puede codificar los elementos de la lista en un procedimiento VBA para completar la lista secundaria (dependiente. O bien, puede recuperar los elementos de la lista apropiados de una base de datos. Este último es más dinámico, pero requiere más código y una base de datos. Para este ejemplo, nos quedaremos con la solución más simple y codificaremos los elementos.
VER: Descargar: Desarrolle sus habilidades en Excel con estos 10 consejos prácticos (ConsejoTecnologico.com)
Para ilustrar esta solución de lista dependiente, rellenaremos una lista primaria con elementos de región: Norte, Sur, Este y Oeste. Luego, usaremos una declaración de VBA Select Case para completar una segunda lista con algunos estados de la región seleccionada. El primer paso es crear el formulario de usuario y añadir un par de campos de formulario, como se indica a continuación:
- En Word, abra un documento en blanco y haga clic en la ficha Desarrollador. (Si no sabe cómo habilitar la pestaña Desarrollador, lea Cómo hacerlo: Muestra la ficha Desarrollador en la cinta. )
- En el grupo Controles, haga clic en el menú desplegable Formulario heredado y seleccione Campo del formulario desplegable.
- Repita el paso 2 para añadir un segundo campo desplegable.
(Si aún utiliza Word 2003, las instrucciones son similares, pero necesitará mostrar la barra de herramientas Formularios para acceder a los controles. Para ello, seleccione Barras de herramientas en el menú Ver y, a continuación, seleccione Formularios.)
Ahora está listo para rellenar el primer menú desplegable con los elementos de la región, como se indica a continuación:
- Haga clic con el botón derecho del ratón en el campo desplegable Región y seleccione Propiedades en el submenú resultante.
- En el control de elementos desplegables, introduzca Norte y haga clic en Agregar. Repita para agregar Sur, Este y Oeste.
- En el control Marcadores, introduzca ddRegion. No omita este paso – cuando recibo correo sobre este tipo de técnicas, la mayoría de las veces el lector se ha saltado este paso. No es necesario renombrar el campo desplegable, puede mantener el valor predeterminado, pero darle un nombre descriptivo y significativo hará que el código sea más fácil de mantener.
- Haga clic en Aceptar.
A continuación, haga clic con el botón derecho del ratón en el campo desplegable state y nómbrelo ddState (utilizando el control Bookmark, como acaba de hacer para nombrar la primera lista desplegable ddRegion. Haga clic en Aceptar para cerrar el cuadro de diálogo.
En este punto, tiene una lista desplegable poblada llamada ddRegion y una segunda lista desplegable llamada ddState, que sigue vacía. Para completar ddState, agregue el procedimiento VBA a continuación, de la siguiente manera:
- Inicie el Visual Basic Editor (VBE) presionando[Alt]+[F11].
- En el menú Insertar, seleccione Módulo.
- Introduzca el procedimiento de llenado de subestado que se muestra a continuación.
- Haga clic en Guardar en la barra de herramientas Estándar y, a continuación, haga clic en Sí.
- Volver al documento de Word.
<Código> <span>SubpoblacióndEstado()</span>.
<Código><span> Seleccione Caso ActiveDocument.FormFields("ddRegion") Resultado</span>.
<código><span> Caso "Norte"</span>
<code><span> Con ActiveDocument.FormFields("ddState".DropDown.ListEntries</span>
<código><span> .clear</span>
<Añadir "Michigan"</span> .Añadir "Michigan"</span>
<Add "Ohio"</span> .Add "Ohio"</span>
<código><span> Finalizar con </span>
<código><span> Caso "South"</span>
<code><span> Con ActiveDocument.FormFields("ddState".DropDown.ListEntries</span>
<código><span> .clear</span>
<Add "Georgia"</span> .Add "Georgia"</span>
<Añadir "Texas"</span> .Add "Texas"</span>
<código><span> Finalizar con </span>
<código><span> Caso "Este"</span>
<Código> <span> Con ActiveDocument.FormFields("ddState".DropDown.ListEntries</span>
<código><span> .clear</span>
<Añadir "New York"</span> .Add "New York"</span>
<Añadir "Maine"</span> .Añadir "Maine"</span>
<código><span> Finalizar con </span>
<código><span> Caso "West"</span>
<code><span> Con ActiveDocument.FormFields("ddState".DropDown.ListEntries</span>
<código><span> .clear</span>
<Add "California"</span> .Add "California"</span>
<Añadir "Oregon" </span>.
<código><span> Finalizar con </span>
<código><span> Finalizar Seleccionar </span>
<código><span> Fin Sub</span>
Ya casi has terminado. Necesita decirle al desplegable de estado que ejecute el nuevo procedimiento que acaba de agregar, como se indica a continuación:
- Haga clic con el botón derecho del ratón en ddRegion y seleccione Propiedades. (O bien, haga clic en Propiedades en el grupo Controles en la ficha Desarrollador.)
- En el menú desplegable Salir, seleccione Completar estado.
- Haga clic en Aceptar.
Sólo un último paso. Antes de utilizar los campos, habilite la protección de la siguiente manera:
- Haga clic en la ficha Desarrollador y en Restringir edición en el grupo Proteger.
- En el panel de tareas resultante, haga clic en la opción Permitir sólo… en 2. Editar restricciones y seleccione Rellenar formularios en el menú desplegable de esa opción.
- A continuación, haga clic en Sí, Iniciar la aplicación de la protección en 3. Comenzar a hacer cumplir la ley.
- Introduzca la misma contraseña dos veces y haga clic en Aceptar.
Todo lo que queda es usar los campos. Haga clic en el menú desplegable del campo de región y seleccione Sur. Al hacerlo, se ejecuta el subprocedimiento (macro) PoblarEstados(), que rellena el menú desplegable Estado con Georgia y Texas.
Recuerde, los elementos de la lista están codificados. Este método es ciertamente fácil, pero con su facilidad vienen las limitaciones. Funciona mejor con una lista estática de elementos conocidos.
Los archivos Demo Excel están disponibles para ayudarle a entender esta técnica.
Boletín semanal de Microsoft
Conviértase en un experto en Microsoft de su empresa con la ayuda de estos tutoriales de Windows y Office y de los análisis de nuestros expertos sobre los productos empresariales de Microsoft. Entregado Lunes y Miércoles
mismo