Note: The other languages of the website are Google-translated. Back to English

¿Cómo crear listas desplegables dependientes en un documento de Word?


Como se muestra en la captura de pantalla de la izquierda, debe limitar las opciones en la segunda lista desplegable en función de la opción en el primer menú desplegable, ¿cómo puede hacerlo? Este artículo le mostrará un método para crear listas desplegables dependientes en un documento de Word.

Cree listas desplegables dependientes en Word con código VBA


Cree listas desplegables dependientes en Word con código VBA

El siguiente código de VBA puede ayudarlo a crear una lista desplegable dependiente en un documento de Word. Siga las instrucciones paso a paso.

1. En primer lugar, debe insertar dos listas desplegables en su documento de Word. Hacer clic Developer > Formularios heredados > Campo de formulario desplegable. Ver captura de pantalla:

2. Haga clic con el botón derecho en la primera lista desplegable (esta lista desplegable debe ser la principal) y haga clic en Propiedades. Ver captura de pantalla:

3. En la apertura Opciones de campo de formulario desplegable cuadro de diálogo, debe:

3.1 Ingrese la categoría en el Elemento desplegable cuadro y luego haga clic en el Añada , repita la operación hasta que todas las categorías se agreguen al cuadro de lista desplegable Elementos en.

3.2 Entrar comida en el Bookmark encajonar.

3.3 Haga clic en OK botón. Ver captura de pantalla:

4. Haga clic derecho en la segunda lista desplegable, haga clic en Propiedades para abrir su Opciones de campo de formulario desplegable cuadro de diálogo, y en el diálogo, ingrese ddCategoría en el Bookmark cuadro y haga clic en el OK botón. Ver captura de pantalla:

5. presione el otro + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

6. En el Microsoft Visual Basic para aplicaciones ventana, haga clic recuadro > Módulo, luego copie debajo del código VBA en la ventana del Módulo.

Código de VBA: cree una lista desplegable dependiente en Word

Sub Populateddfood()
'Update by Extendoffice 2018/10/25
    Dim xDirection As FormField
    Dim xState As FormField
    On Error Resume Next
    Set xDirection = ActiveDocument.FormFields("ddfood")
    Set xState = ActiveDocument.FormFields("ddCategory")
    If ((xDirection Is Nothing) Or (xState Is Nothing)) Then Exit Sub
    With xState.DropDown.ListEntries
        .Clear
        Select Case xDirection.Result
            Case "Fruit"
                .Add "Apple"
                .Add "Banana"
                .Add "Peach"
                .Add "Lychee"
                .Add "Watermelon"
            Case "Vegetable"
                .Add "Cabbage"
                .Add "Onion"
            Case "Meat"
                .Add "Pork"
                .Add "Beef"
                .Add "Mutton"
        End Select
    End With
End Sub

Notas

1. En el código, cambie los elementos en cada caso según lo necesite.

2. comida y ddCategoría debe coincidir con las opciones de marcador que ingresó en los dos anteriores Opciones de campo de formulario desplegable Cuadros de diálogo.

7. Guarde el código y vuelva al documento.

8. Haga clic con el botón derecho en la primera lista desplegable y haga clic en Propiedades para abrir el Opciones de campo de formulario desplegable caja de diálogo. En el cuadro de diálogo, seleccione el nombre de la macro anterior (aquí es Popolateddfood) del Exit lista desplegable y luego haga clic en el OK

9. Ahora haga clic en Developer > Restringir la edición como se muestra a continuación.

10. En el Restringir la edición panel, necesita:

10.1) Compruebe el Permitir solo este tipo de edición en el documento caja;

10.2) Seleccionar Rellenar formularios opción de la lista desplegable;

10.3) Haga clic en Sí, Comience a hacer cumplir la protección botón;

10.4) en el Empiece a aplicar la protección cuadro de diálogo, introduzca la contraseña y haga clic en el OK botón. Ver captura de pantalla:

Ahora se crea una lista desplegable dependiente. Al seleccionar Fruta en la primera lista desplegable, solo se pueden seleccionar las categorías de frutas en la segunda.


Herramientas de productividad de palabras recomendadas

 

Kutools para Word: más de 100 funciones avanzadas para Word, ahorre su 50% de tiempo

  • Las operaciones complicadas y repetidas se pueden realizar un solo procesamiento en segundos.
  • Inserte varias imágenes en carpetas en un documento de Word a la vez.
  • Fusiona y combina varios archivos de Word en carpetas en uno con el orden que desees.
  • Divida el documento actual en documentos separados según el encabezado, el salto de sección u otros criterios.
  • Convierta archivos entre Doc y Docx, Docx y PDF, colección de herramientas para conversiones y selección comunes, etc.
Comentarios (27)
Aún no hay calificaciones. ¡Sé el primero en calificar!
Este comentario fue minimizado por el moderador en el sitio
¿Existe un código similar para hacer casi exactamente lo mismo, excepto que un campo de formulario de texto se complete automáticamente según la opción desplegable? Por ejemplo, ¿elegir una empresa específica en el menú desplegable y hacer que un campo de formulario de texto se complete automáticamente con la ciudad donde se encuentra la empresa?
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
Lo siento, te puedo ayudar con eso. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
¿Puede agregar esto a varias áreas en una sola página que consta de varias secciones? Pude completar con éxito el proceso en una sección de mi documento, pero cuando intento completar el mismo proceso en la misma página, pero en una sección diferente de mi documento y con nuevas opciones desplegables, solo mis primeros cuadros agregados están funcionando, no los de la segunda sección..
Este comentario fue minimizado por el moderador en el sitio
hola ingrid,
Supongamos que tiene tres grupos de listas desplegables dependientes en su documento. Si necesita que todas las listas desplegables dependientes surtan efecto, aplique el siguiente código VBA y realice la configuración a continuación:

En los pasos 4 y 5 que mencionamos en el artículo, ahora debe realizar los siguientes cambios:
1. Para el primer grupo de listas desplegables dependientes, acceda a la ventana Propiedades de cada lista desplegable y especifique el Marcador como ddfood1 y ddCategory1 por separado;
2. Para el segundo grupo de listas desplegables dependientes, acceda a la ventana Propiedades de cada lista desplegable y especifique el Marcador como ddfood2 y ddCategory2 por separado;
2. Para el tercer grupo de listas desplegables dependientes, acceda a la ventana Propiedades de cada lista desplegable y especifique el Marcador como ddfood3 y ddCategory3 por separado;

Luego, continúe exactamente como lo proporcionamos en el artículo para finalizar toda la configuración.

Código VBA:
Alimentos subpoblados()
'Actualizar por Extendoffice 2019/03/18
Dim xDirection como campo de formulario
Dim xState como campo de formulario
Dim xRng como rango
Dim xFoodBM, xCategoryBM como cadena
Establecer xRng = Selección.Rango
On Error Resume Next
Para i = 1 Para ActiveDocument.FormFields.Count
xComidaBM = "ddcomida" & yo
xCategoryBM = "ddCategory" & yo
Establecer xDirection = ActiveDocument.FormFields(xFoodBM)
Establecer xState = ActiveDocument.FormFields(xCategoryBM)
Si (No (xState Is Nothing)) Y (Not (xDirection Is Nothing)) Entonces
Con xState.DropDown.ListEntries
.Claro
Seleccionar caso xDirection.Result
Estuche "Frutas"
.Añadir "manzana"
.Añadir "Plátano"
.Añadir "Melocotón"
.Añadir "lichi"
.Añadir "Sandía"
Estuche "Verdura"
.Añadir "Repollo"
.Añadir "Cebolla"
Estuche "Carne"
.Añadir "Carne de Cerdo"
.Añadir "Ternera"
.Añadir "Cordero"
Fin Seleccionar
End With
Si terminar
Establecer xDirection = Nada
Establecer xState = Nada
Siguiente
xRng.Seleccionar
End Sub
Este comentario fue minimizado por el moderador en el sitio
¿Se puede hacer esto en versiones anteriores de Word o se debe guardar como un determinado tipo de documento?
Este comentario fue minimizado por el moderador en el sitio
Hola Mary,
¿A qué versión te refieres?
Este comentario fue minimizado por el moderador en el sitio
Hi there,
¿Hay restricciones con el nombre en el campo (por ejemplo, 2 palabras o uso de caracteres especiales)?
Como Campo A (Nombre de la empresa) Campo B (Nombre del director, como Jack Black).
¡Gracias!
Este comentario fue minimizado por el moderador en el sitio
Hola Marc,
Sí, hay restricciones con el nombre en el campo.
Para varias palabras con espacios, debe reemplazar los espacios con subrayados como Company_Name.
Y el nombre del marcador no puede contener ninguno de los caracteres especiales como / \ : * ? " < > |
Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
Hola,

¿Cómo ajustamos el texto? Seguí el paso y funciona bien excepto que cuando la segunda lista es demasiado larga, va más allá de la página. ¿Hay alguna manera de que se ajuste automáticamente?
Este comentario fue minimizado por el moderador en el sitio
Hola Pablo,
Lo siento, no puedo ayudarte con eso todavía. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
Hola, tengo los menús desplegables para trabajar. Tengo una pregunta
Cuando hago la selección para el primer menú desplegable, ¿hay alguna forma de automatizar las selecciones coordinadas y relacionadas para los siguientes menús desplegables? Por ejemplo. Tengo un abogado desplegable principal, los dos menús desplegables secundarios son Título y Número de teléfono, respectivamente. Cuando selecciono el nombre del abogado, me gustaría que los menús desplegables secundarios relacionados se completen automáticamente con el título y el número de teléfono. ¿Cómo sería capaz de hacer eso?

Gracias de antemano.

Sylvia
Este comentario fue minimizado por el moderador en el sitio
Buenos días,
Lo siento, no puedo ayudarte con eso todavía. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
¿Hay alguna manera de agregar varios campos de categoría en función de una selección? por ejemplo, necesito decir Seleccionar "Vino", pero necesito poder seleccionar 5 opciones (afrutado, rojo, fuerte, etc.) de las 10 opciones posibles en la segunda lista desplegable. Seguí las instrucciones anteriores y funciona bien en un campo con otro campo dependiente solamente. Pero necesito 5 campos dependientes, de todos modos activados por un campo en este caso "vino". Duplico el campo desplegable, no funciona, estoy tratando de agregar un segundo campo al código, pero no estoy seguro de cómo: ActiveDocument.FormFields("ddCategory") y ("ddCategory2")
Este comentario fue minimizado por el moderador en el sitio
Hola Ed,
Lo siento, no puedo ayudarte con eso. Gracias por tu comentario.
Este comentario fue minimizado por el moderador en el sitio
Hola, ¿Cómo puedo duplicar el cuadro de categorías? He usado el código anterior y funciona bien, pero solo para una caja. ¿Qué hago en el código si, por ejemplo, necesito seleccionar hasta 3 frutas una vez que he seleccionado el grupo Fruta? Estoy duplicando el campo que creé pero solo uno funciona.
---------------------
Seleccione
FRUTA: plátano
manzana
"seleccione un artículo"


----------------------------------
Seleccione
Vegetal: Repollo
Cebolla
"seleccione un artículo"
Este comentario fue minimizado por el moderador en el sitio
Gracias por este recurso tan útil.

¿Es posible repetir el mismo menú desplegable dependiente varias veces dentro de un formulario?

Necesito el formulario para completar para asignar una categoría a cada nueva fila (pero con las mismas opciones cada vez). He creado con éxito los menús desplegables, pero cuando restrinjo la edición para probar, parecen restablecerse a medida que trabajo en las filas.

Muchas Gracias
Amy
Este comentario fue minimizado por el moderador en el sitio
Estoy usando este mismo código, sin embargo, el texto con el que reemplacé ddcategory tiene más de 100 palabras. ¿Hay alguna forma de envolver el texto para evitar que se salga de la página y desaparezca?
Este comentario fue minimizado por el moderador en el sitio
¡¡Tengo el mismo problema!! :0
Este comentario fue minimizado por el moderador en el sitio
سلام من همه مراحل رو رفomin ولی درآخendr
چیکار باید بکنم؟
Este comentario fue minimizado por el moderador en el sitio
Hola, por alguna razón no puedo modificar nada más en el archivo de Word si la lista desplegable está activa. ¿Hay alguna manera de evitar eso?

Gracias
Este comentario fue minimizado por el moderador en el sitio
tengo el mismo problema alguien me pudo ayudar con esto
Este comentario fue minimizado por el moderador en el sitio
Esto fue de gran ayuda, gracias.
Tengo una pregunta, ¿hay alguna manera de modificar el código para que cuando seleccione un nuevo elemento de la primera lista desplegable, el dependiente se borre?
Este comentario fue minimizado por el moderador en el sitio
Lo siento por la respuesta tardía, solo tropecé con esta página hoy :-)
Ya hace eso. La primera instrucción dentro del caso Select... Terminar la construcción select borra la segunda lista. Si no se cumple ninguno de los criterios, no se añade nada.
Este comentario fue minimizado por el moderador en el sitio
Hola, gracias por el tutorial detallado, pero tengo una pregunta ya que la plantilla de Word es para uso de otros, 
Este comentario fue minimizado por el moderador en el sitio
Hola, muchas gracias por el tutorial detallado, pero tengo una pregunta ya que la plantilla de Word es para uso de otros. Usted mencionó el modo de protección y una contraseña es obligatoria, esto puede funcionar si les digo la contraseña, entonces hay un conflicto: hay algunos otros espacios en blanco que deben completarse, esto no se puede hacer solo si el modo de protección es apagado. ¿Qué tengo que hacer? ¿Existe algún método para satisfacer ambas necesidades?
Este comentario fue minimizado por el moderador en el sitio
hallo,

ist das ganze auch unter Outlook möglich. Leider bekomme ich das so nicht hin da die Eigenschaften des Dropdown Menüs ganz anders aussehen.

Ich wollte unter Aufgaben einen Reparaturauftrag erstellen wo man Gebäude,Bereich und dan Zimmernummer oder Bezeichnung auwählen kann.

Ist das möglich en Outlook/Aufgaben?



Danke
Este comentario fue minimizado por el moderador en el sitio
Hola,
Puede crear una lista desplegable con un campo personalizado en la ventana Tarea de Outlook siguiendo los pasos de este artículo:
¿Cómo agregar una lista desplegable con archivos personalizados en la ventana de tareas de Outlook?
https://www.extendoffice.com/documents/outlook/4453-outlook-custom-fields-tasks-drop-down.html
O cree una lista desplegable en Word, luego cópiela y péguela en la ventana Tarea según lo necesite.
Pero si desea crear listas desplegables dependientes en la Tarea de Outlook, todavía no se ha encontrado ningún método.
Lo siento.
No hay comentarios publicados aquí todavía
Deje sus comentarios
Publicar como invitado
×
Califica esta publicación:
0   Personajes
Ubicaciones sugeridas

Seguinos

Copyright © 2009 - www.extendoffice.com. | Reservados todos los derechos. Energizado por ExtendOffice, | Mapa del Sitio
Microsoft y el logotipo de Office son marcas comerciales o marcas comerciales registradas de Microsoft Corporation en los Estados Unidos y / o en otros países.
Protegido por Sectigo SSL