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

Hvordan oprettes afhængige rullelister i Word-dokument?


Som det viste skærmbillede til venstre, skal du begrænse valgene i den anden rulleliste baseret på muligheden i den første rullemenu, hvordan kan du gøre det? Denne artikel viser dig en metode til at oprette afhængige rullelister i et Word-dokument.

Opret afhængige rullelister i Word med VBA-kode


Opret afhængige rullelister i Word med VBA-kode

Nedenstående VBA-kode kan hjælpe dig med at oprette en afhængig rulleliste i et Word-dokument. Følg venligst instruktionerne trin for trin.

1. For det første skal du indsætte to rullelister i dit Word-dokument. Klik på Udvikler > Ældre formularer > Drop-down formularfelt. Se skærmbillede:

2. Højreklik på den første rulleliste (denne rulleliste skal være den overordnede), og klik Egenskaber. Se skærmbillede:

3. I åbningen Drop-down Formularfeltindstillinger dialogboks skal du:

3.1 Indtast kategorien i Drop-down vare boks og klik derefter på Tilføj gentag handlingen, indtil alle kategorier er føjet til rullelisteelementerne Elementer.

3.2 Indtast ddfood ind i Bookmark boks.

3.3 Klik på OK knap. Se skærmbillede:

4. Højreklik på den anden rulleliste, klik på Ejendomme at åbne sin Drop-down Formularfeltindstillinger dialogboks, og indtast i dialogboksen ddKategori ind i Bookmark og klik på OK knap. Se skærmbillede:

5. Tryk på andre + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

6. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Modul, kopier derefter under VBA-koden i modulvinduet.

VBA-kode: Opret afhængig rulleliste i 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

Bemærkninger:

1. I koden skal du ændre emner under hvert tilfælde, som du har brug for.

2. ddfood og ddKategori skal matche de bogmærkemuligheder, du indtastede i ovenstående to Drop-down Formularfeltindstillinger dialogbokse.

7. Gem koden, og gå tilbage til dokumentet.

8. Højreklik på den første rulleliste, og klik Ejendomme at åbne Drop-down Formularfeltindstillinger dialog boks. I dialogboksen skal du vælge ovenstående makronavn (her er Popolateddfood) fra Udgang rullelisten, og klik derefter på OK .

9. Klik nu Udvikler > Begræns redigering som vist nedenstående skærmbillede.

10. i Begræns redigering rude, skal du:

10.1) Kontroller Tillad kun denne type redigering i dokumentet boks;

10.2) Vælg Udfyldning af formularer mulighed fra rullelisten;

10.3) Klik på Ja, start håndhævelse af beskyttelse knap;

10.4) I Start håndhævelse af beskyttelse dialog, skal du indtaste adgangskoden og klikke på OK knap. Se skærmbillede:

Nu oprettes en afhængig rulleliste. Når du vælger Frugt i den første rulleliste, kan kun frugtkategorierne vælges i den anden.


Anbefalede Word-produktivitetsværktøjer

 

Kutools til Word - mere end 100 avancerede funktioner til Word, spar din 50% tid

  • Komplicerede og gentagne operationer kan udføres engangsbehandling på få sekunder.
  • Indsæt flere billeder på tværs af mapper i Word-dokumentet på én gang.
  • Flet og kombiner flere Word-filer på tværs af mapper i en med den ønskede rækkefølge.
  • Opdel det aktuelle dokument i separate dokumenter efter overskrift, sektionsskift eller andre kriterier.
  • Konverter filer mellem Doc og Docx, Docx og PDF, samling af værktøjer til almindelige konverteringer og markering osv. ...
Sorter kommentarer efter
Kommentarer (27)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Er der en lignende kode til at gøre næsten det samme, bortset fra at et tekstformularfelt automatisk udfyldes afhængigt af rullemenuen? For eksempel at vælge en bestemt virksomhed i rullemenuen og få et tekstformularfelt automatisk udfyldt med den by, hvor virksomheden er placeret?
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Sorry kan hjælpe dig med det. Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Kan du tilføje dette til flere områder på en enkelt side bestående af flere sektioner? Jeg var i stand til at fuldføre processen i en sektion af mit dokument, men når jeg forsøger at fuldføre den samme proces, mens jeg er på samme side, men i en anden sektion af mit dokument og med nye rullemenumuligheder, er det kun mine første tilføjede bokse virker, ikke dem i andet afsnit..
Denne kommentar blev minimeret af moderatoren på webstedet
hej ingrid,
Antag, at du har tre grupper af afhængige rullelister i dit dokument. Hvis du har brug for, at alle afhængige rullelister træder i kraft, skal du anvende nedenstående VBA-kode og foretage nedenstående indstillinger:

I trin 4 og 5, vi nævnte i artiklen, skal du nu foretage følgende ændringer:
1. For den første gruppe af de afhængige rullelister skal du gå ind i vinduet Egenskaber for hver rulleliste og angive bogmærket som ddfood1 og ddCategory1 separat;
2. For den anden gruppe af de afhængige rullelister skal du gå ind i vinduet Egenskaber for hver rulleliste og angive bogmærket som ddfood2 og ddCategory2 separat;
2. For den tredje gruppe af de afhængige rullelister skal du gå ind i vinduet Egenskaber for hver rulleliste og angive bogmærket som ddfood3 og ddCategory3 separat;

Så gå videre nøjagtigt som vi gav i artiklen for at afslutte hele indstillingerne.

VBA kode:
Sub Populateddfood()
'Opdater af Extendoffice 2019 / 03 / 18
Dim xDirection As FormField
Dim xState As FormField
Dim xRng As Range
Dim xFoodBM, xCategoryBM As String
Indstil xRng = Selection.Range
On Error Resume Next
For i = 1 Til ActiveDocument.FormFields.Count
xFoodBM = "ddfood" & i
xCategoryBM = "ddCategory" & i
Indstil xDirection = ActiveDocument.FormFields(xFoodBM)
Indstil xState = ActiveDocument.FormFields(xCategoryBM)
Hvis (Not (xState Is Nothing)) Og (Not (xDirection Is Nothing)) Så
Med xState.DropDown.ListEntries
.Klar
Vælg Case xDirection.Result
Sag "Fruit"
.Tilføj "Apple"
.Tilføj "Banan"
.Tilføj "fersken"
.Tilføj "litchi"
.Tilføj "vandmelon"
Etui "Grøntsag"
.Tilføj "Kål"
.Tilføj "løg"
Etui "Kød"
.Tilføj "Svinekød"
.Tilføj "oksekød"
.Tilføj "Fårekød"
Afslut Vælg
Slut med
End If
Indstil xDirection = Intet
Indstil xState = Intet
Næste
xRng.Vælg
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
kan dette gøres i ældre versioner af Word eller skal det gemmes som en bestemt dokumenttype?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej mary,
Hvilken version mener du?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Der,
er der begrænsninger med navnet i feltet (f.eks. 2 ord, eller brug af specielle tegn)?
Ligesom felt A (virksomhedens navn) Felt B (direktørens navn, som Jack Black).
Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Marc,
Ja, der er begrænsninger med navnet i feltet.
For flere ord med mellemrum skal du erstatte mellemrummene med undestreger såsom Firmanavn.
Og bogmærkenavnet må ikke indeholde nogen af ​​specialtegnene såsom / \ : * ? " < > |
Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

Hvordan ombryder vi tekst? Jeg fulgte trinnet, og det fungerer fint bortset fra, at når den anden liste er for lang, går den ud over siden. Er der en måde at få det til automatisk at pakkes ind?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Paul,
Jeg kan desværre ikke hjælpe dig med det endnu. Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
HEJ Jeg fik drop downs til at virke. jeg har et spørgsmål
Når jeg foretager valget for den første rullemenu, er der nogen måde at automatisere de koordinerende og relaterede valg for følgende rullemenuer? For eksempel. Jeg har en forælder drop down Advokat, de to børn drop downs er henholdsvis titel og telefonnummer. Når jeg vælger advokatens navn, vil jeg gerne have, at de tilhørende underordnede rullemenuer automatisk udfylder titlen og telefonnummeret. Hvordan skulle jeg kunne gøre det?

Tak på forhånd.

Sylvia
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Jeg kan desværre ikke hjælpe dig med det endnu. Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Er der en måde at tilføje flere kategorifelter baseret på det ene valg? for eksempel skal jeg sige Vælg "Vin", men jeg skal være i stand til at vælge 5 muligheder (frugtagtig, rød, stærk osv...) fra de 10 mulige muligheder i den anden rulleliste. Jeg fulgte instruktionerne ovenfor og fungerer godt på ét felt med kun et andet afhængigt felt. Men jeg har brug for 5 afhængige felter, alle de samme udløst af det ene felt i dette tilfælde "vin". Jeg duplikerer rullefeltet, det virker ikke, jeg forsøger at tilføje et andet felt til koden, men jeg er ikke sikker på hvordan: ActiveDocument.FormFields("ddCategory") og ("ddCategory2")
Denne kommentar blev minimeret af moderatoren på webstedet
Hej ed
Jeg kan desværre ikke hjælpe dig med det. Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Hvordan kan jeg duplikere kategoriboksen? Jeg har brugt koden ovenfor og fungerer godt, men kun til én boks. Hvad gør jeg i koden, hvis jeg f.eks. skal vælge op til 3 frugter, når jeg har valgt Frugtgruppen? Jeg duplikerer det felt, jeg oprettede, men kun ét virker.
---------------------
Type
FRUGT: banan
æble
"vælg vare"


----------------------------------
Type
Grøntsag: Kål
løg
"vælg vare"
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for denne meget nyttige ressource.

Er det muligt at gentage den samme afhængige dropdown flere gange i en formular?

Jeg har brug for formularfylderen til at tildele en kategori til hver ny række (men med de samme muligheder hver gang). Jeg har med succes oprettet rullemenuerne, men når jeg begrænser redigeringen for at teste, ser de ud til at nulstille sig selv, mens jeg arbejder ned i rækkerne.

Tak
Amy
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg bruger den samme kode, men teksten, som jeg erstatter ddcategory med, har 100 plus ord. Er der overhovedet at pakke teksten ind for at forhindre, at den forsvinder fra siden og forsvinder?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har samme problem!! :0
Denne kommentar blev minimeret af moderatoren på webstedet
سلام من همه مراحل bog
چیکار باید بکنم؟
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, af en eller anden grund kan jeg ikke ændre noget andet i word-filen, hvis rullelisten er aktiv. Er der en måde at undgå det på?

Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har det samme problem, er der nogen der har kunnet hjælpe med dette
Denne kommentar blev minimeret af moderatoren på webstedet
Dette var yderst nyttigt, tak.
Jeg har et spørgsmål, er der en måde at ændre koden på, så når jeg vælger et nyt element fra den første rulleliste, vil den afhængige rydde op?
Denne kommentar blev minimeret af moderatoren på webstedet
Beklager det sene svar, faldt først over denne side i dag :-)
Det gør den allerede. Den første sætning inde i Select case ... End select konstruktion rydder den anden liste. Hvis ingen af ​​kriterierne er opfyldt, tilføjes intet.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, tak for den detaljerede tutorial, men jeg har et spørgsmål, da ordet skabelon er til andres brug, 
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, mange tak for den detaljerede tutorial, men jeg har et spørgsmål, da ordet skabelon er til andres brug. Du nævnte beskyttelsestilstand, og en adgangskode er et must, dette kan gøres, hvis jeg fortæller dem adgangskoden, så er der en konflikt: der er nogle andre tomme felter, der skal udfyldes, dette kan ikke kun gøres, hvis beskyttelsestilstanden er af. Hvad skal jeg gøre? Er der nogen metode til at opfylde begge 2 behov?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,

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.

Er det muligt i Outlook/Opgaven?



Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Du kan oprette en rulleliste med brugerdefineret felt i Outlook-opgavevinduet ved at følge trinene i denne artikel:
Sådan tilføjes en rulleliste med brugerdefineret arkiveret i Outlook-opgavevinduet?
https://www.extendoffice.com/documents/outlook/4453-outlook-custom-fields-tasks-drop-down.html
Eller opret en rulleliste i Word og kopier og indsæt den i Opgavevinduet efter behov.
Men hvis du vil oprette afhængige rullelister i Outlook Task, er der endnu ingen metode blevet fundet.
Ked af det.
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL