Cómo crear una lista desplegable dependiente en Word utilizando formularios y VBA

Muchas plantillas y formularios web utilizan campos de formulario de Word para solicitar información al usuario. En ocasiones, la selección en un campo determina el contenido de otro. Puedes codificar de forma estática los elementos de la lista en un procedimiento VBA para poblar la lista secundaria (dependiente). O puedes recuperar los elementos de la lista correspondientes de una base de datos. Este último método 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 sencilla y codificaremos los elementos de forma estática.

DESCUBRE MÁS: Precios y características de Office 365 para consumidores

Índice de Contenido
  1. Pasos para crear la lista desplegable dependiente en Word:
  2. Pasos para poblar la primera lista desplegable:
  3. Pasos para ejecutar el procedimiento VBA:
  4. Asignar el procedimiento a la lista desplegable:
  5. Proteger el formulario:

Pasos para crear la lista desplegable dependiente en Word:

  1. En Word, abre un documento en blanco y haz clic en la pestaña Desarrollador. (Si no sabes cómo habilitar la pestaña Desarrollador, lee Cómo mostrar la pestaña Desarrollador en la Cinta de opciones.)
  2. En el grupo Controles, haz clic en el menú desplegable Formulario heredado y elige Campo de formulario desplegable.
  3. Repite el paso 2 para agregar un segundo campo desplegable.

(Si todavía estás utilizando Word 2003, las instrucciones son similares, pero deberás mostrar la barra de herramientas Formularios para acceder a los controles. Para hacerlo, elige Barras de herramientas en el menú Ver y selecciona Formularios.)

Pasos para poblar la primera lista desplegable:

  1. Haz clic con el botón derecho en el campo desplegable de la región y elige Propiedades en el menú contextual.
  2. En el control de elementos desplegables, introduce "Norte" y haz clic en Agregar. Repite este paso para agregar "Sur", "Este" y "Oeste".
  3. En el control de marcador, introduce "ddRegion". No omitas este paso: cuando recibo consultas sobre estas técnicas, lo más común es que el lector haya pasado por alto este paso. No es necesario cambiar el nombre del campo desplegable, puedes conservar el nombre predeterminado, pero darle un nombre descriptivo y significativo facilitará el mantenimiento del código.
  4. Haz clic en Aceptar.

A continuación, haz clic con el botón derecho en el campo desplegable de estado y nómbralo "ddState" (utilizando el control de marcador, como acabas de hacer para nombrar el primer campo desplegable). Haz clic en Aceptar para cerrar el cuadro de diálogo.

Pasos para ejecutar el procedimiento VBA:

  1. Inicia el Editor de Visual Basic (VBE) presionando [Alt]+[F11].
  2. En el menú Insertar, elige Módulo.
  3. Ingresa el siguiente procedimiento sub PopulateddState.
  4. Haz clic en Guardar en la barra de herramientas estándar y luego haz clic en Sí.
  5. Regresa al documento de Word.

Sub PopulateddState()
Select Case ActiveDocument.FormFields("ddRegion").Result
Case "North"
With ActiveDocument.FormFields("ddState").DropDown.ListEntries
.Clear
.Add "Michigan"
.Add "Ohio"
End With
Case "South"
With ActiveDocument.FormFields("ddState").DropDown.ListEntries
.Clear
.Add "Georgia"
.Add "Texas"
End With
Case "East"
With ActiveDocument.FormFields("ddState").DropDown.ListEntries
.Clear
.Add "New York"
.Add "Maine"
End With
Case "West"
With ActiveDocument.FormFields("ddState").DropDown.ListEntries
.Clear
.Add "California"
.Add "Oregon"
End With
End Select
End Sub

10 formas fáciles de usar la función Buscar y Reemplazar en Word

Asignar el procedimiento a la lista desplegable:

  1. Haz clic con el botón derecho en ddRegion y elige Propiedades (o haz clic en Propiedades en el grupo Controles de la pestaña Desarrollador).
  2. En el menú desplegable Salida, elige PopulateddState.
  3. Haz clic en Aceptar.

Proteger el formulario:

  1. Haz clic en la pestaña Desarrollador y haz clic en Restringir edición en el grupo Proteger.
  2. En el panel de tareas resultante, haz clic en la opción Permitir solamente... bajo 2. Restricciones de edición y elige Rellenar formularios en el menú desplegable de esa opción.
  3. Luego, haz clic en Sí, Iniciar protección en 3. Iniciar protección.
  4. Ingresa la misma contraseña dos veces y haz clic en Aceptar.

¡Ya casi has terminado! Solo te queda utilizar los campos. Haz clic en el campo de región y elige "Sur" en la lista desplegable. Al hacerlo, se ejecutará el procedimiento "PopulateddStates()", el cual poblará el campo de estado con "Georgia" y "Texas".

Recuerda que los elementos de la lista están codificados de forma estática. Este método es sencillo pero tiene limitaciones. Funciona mejor con una lista estática de elementos conocidos.

Existen archivos de demostración de Excel disponibles para ayudarte a comprender esta técnica.

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo crear una lista desplegable dependiente en Word utilizando formularios y VBA , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.