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

Kako ustvariti odvisne spustne sezname v dokumentu Word?


Kot je prikazano na levem posnetku zaslona, ​​morate omejiti izbire na drugem spustnem seznamu glede na možnost v prvem spustnem meniju, kako lahko storite? Ta članek vam bo pokazal način za ustvarjanje odvisnih spustnih seznamov v Wordovem dokumentu.

Ustvarite odvisne spustne sezname v Wordu s kodo VBA


Ustvarite odvisne spustne sezname v Wordu s kodo VBA

Spodnja koda VBA vam lahko pomaga ustvariti odvisen spustni seznam v Wordovem dokumentu. Prosimo, sledite navodilom korak za korakom.

1. Najprej morate v svoj Wordov dokument vstaviti dva spustna seznama. Kliknite Razvojni > Podedovane obrazce > Spustno polje obrazca. Oglejte si posnetek zaslona:

2. Z desno miškino tipko kliknite prvi spustni seznam (ta spustni seznam mora biti nadrejeni) in kliknite Lastnosti. Oglejte si posnetek zaslona:

3. Na odprtju Možnosti spustnega polja obrazca pogovorno okno, morate:

3.1 Vnesite kategorijo v Spustni element polje in nato kliknite Dodaj , ponavljajte postopek, dokler niso vse kategorije dodane v spustnem seznamu Elementi.

3.2 Vnesite ddfood v zaznamek škatla.

3.3 Kliknite na OK . Oglejte si posnetek zaslona:

4. Z desno miškino tipko kliknite drugi spustni seznam in kliknite Nepremičnine odprl svoj Možnosti spustnega polja obrazca in v pogovorno okno vnesite ddKategorija v zaznamek in kliknite OK . Oglejte si posnetek zaslona:

5. Pritisnite druga + F11 tipke za odpiranje Microsoft Visual Basic za aplikacije okno.

6. V Ljubljani Microsoft Visual Basic za aplikacije okno, kliknite Vstavi > Modul, nato kopirajte pod kodo VBA v okno modula.

Koda VBA: v Wordu ustvarite odvisen spustni seznam

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

Opombe:

1. V kodi spremenite elemente za vsak primer posebej, kot jih potrebujete.

2. ddfood in ddKategorija naj se ujema z možnostmi zaznamkov, ki ste jih vnesli v zgornjih dveh Možnosti spustnega polja obrazca pogovorna okna.

7. Shranite kodo in se vrnite v dokument.

8. Z desno miškino tipko kliknite prvi spustni seznam in kliknite Nepremičnine da odprete Možnosti spustnega polja obrazca pogovorno okno. V pogovornem oknu izberite zgornje ime makra (tukaj je Popolateddfood) iz menija Izhod in nato kliknite spustni seznam OK gumb.

9. Zdaj kliknite Razvojni > Omeji urejanje kot je prikazano spodaj.

10. V Ljubljani Omeji urejanje podokno, morate:

10.1) Preverite Dovoli samo to vrsto urejanja v dokumentu škatla;

10.2) Izberite Izpolnjevanje obrazcev možnost s spustnega seznama;

10.3) Kliknite Da, začnite uveljavljati zaščito gumb;

10.4) V Začnite uveljavljati zaščito vnesite geslo in kliknite OK . Oglejte si posnetek zaslona:

Zdaj je ustvarjen odvisen spustni seznam. Ko na prvem spustnem seznamu izberete Sadje, lahko na drugem izberete samo kategorije sadja.


Priporočena orodja za produktivnost besed

 

Kutools za Word - Več kot 100 naprednih funkcij za Word, prihranite 50% časa

  • Zapletene in ponavljajoče se operacije je mogoče enkrat obdelati v nekaj sekundah.
  • V Wordov dokument hkrati vstavite več slik v mape.
  • Združite in združite več datotek Word v mapah v eno z želenim vrstnim redom.
  • Trenutni dokument razdelite na ločene dokumente glede na naslov, prelom odseka ali druga merila.
  • Pretvarjanje datotek med dokumenti Doc in Docx, Docx in PDF, zbirka orodij za pogoste pretvorbe in izbiro itd. ...
Komentarji (27)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja podobna koda, ki naredi skoraj isto stvar, razen da se polje besedilnega obrazca samodejno zapolni glede na izbiro spustnega menija? Na primer, če v spustnem meniju izberete določeno podjetje in se polje besedilnega obrazca samodejno izpolni z mestom, kjer se podjetje nahaja?
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Žal ti lahko pomagam pri tem. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Ali lahko to dodate več področjem na eni strani, sestavljeni iz več razdelkov? Uspešno sem dokončal postopek v enem razdelku svojega dokumenta, toda ko poskušam dokončati isti postopek na isti strani, vendar v drugem delu dokumenta in z novimi spustnimi možnostmi, se prikažejo samo moja prva dodana polja delajo, ne tiste v drugem delu..
Ta komentar je moderator na spletnem mestu minimiziral
Živjo ingrid,
Predpostavimo, da imate v dokumentu tri skupine odvisnih spustnih seznamov. Če želite, da začnejo veljati vsi odvisni spustni seznami, uporabite spodnjo kodo VBA in naredite spodnje nastavitve:

V 4. in 5. koraku, ki smo ga omenili v članku, morate zdaj narediti naslednje spremembe:
1. Za prvo skupino odvisnih spustnih seznamov pojdite v okno Lastnosti vsakega spustnega seznama in navedite zaznamek kot ddfood1 in ddCategory1 posebej;
2. Za drugo skupino odvisnih spustnih seznamov pojdite v okno Lastnosti vsakega spustnega seznama in navedite zaznamek kot ddfood2 in ddCategory2 posebej;
2. Za tretjo skupino odvisnih spustnih seznamov pojdite v okno Lastnosti vsakega spustnega seznama in navedite zaznamek kot ddfood3 in ddCategory3 posebej;

Nato nadaljujte natančno tako, kot smo navedli v članku, da dokončate celotne nastavitve.

koda VBA:
Podpopuleddfood()
'Posodobite do Extendoffice 2019 / 03 / 18
Dim xDirection kot FormField
Zatemni xState kot FormField
Dim xRng As Range
Dim xFoodBM, xCategoryBM kot niz
Nastavite xRng = Izbira.Razpon
On Error Resume Next
Za i = 1 Za ActiveDocument.FormFields.Count
xFoodBM = "ddfood" & i
xCategoryBM = "ddCategory" & i
Nastavi xDirection = ActiveDocument.FormFields(xFoodBM)
Nastavi xState = ActiveDocument.FormFields(xCategoryBM)
Če (ni (xState Is Nothing)) In (Ne (xDirection Is Nothing)) Potem
Z xState.DropDown.ListEntries
.Jasno
Izberite Primer xDirection.Result
Zadeva "Sadje"
.Dodaj "Apple"
.Dodaj "banana"
.Dodaj "breskev"
.Dodaj "liči"
.Dodaj "lubenico"
Zadeva "zelenjava"
.Dodaj "zelje"
.Dodaj "čebulo"
Zadeva "meso"
.Dodaj "svinjina"
.Dodaj "goveje meso"
.Dodaj "ovčetina"
Konec Izberi
Končaj s
Konec Če
Nastavite xDirection = Nič
Nastavite xState = Nič
Naslednji
xRng.Izberi
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
ali je to mogoče storiti v starejših različicah Worda ali je treba shraniti kot določeno vrsto dokumenta?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo mary,
Katero različico misliš?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,
ali obstajajo omejitve pri imenu v polju (npr. 2 besedi ali uporaba posebnih znakov)?
Kot polje A (ime podjetja) Polje B (ime direktorja, kot Jack Black).
Hvala!
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Marc,
Da, obstajajo omejitve z imenom v polju.
Za več besed s presledki morate presledke zamenjati z nerazčrtanimi črtami, kot je Ime_podjetja.
In ime zaznamka ne sme vsebovati nobenega od posebnih znakov, kot je / \ : * ? " < > |
Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Hi,

Kako zavijemo besedilo? Sledil sem koraku in deluje dobro, le da ko je drugi seznam predolg, presega stran. Ali obstaja način, da se samodejno zavije?
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo Paul,
Žal ti pri tem še ne morem pomagati. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, spustne liste sem dobil za delo. imam vprašanje
Ko naredim izbor za prvi spustni meni, Ali obstaja način za avtomatizacijo usklajevanja in povezanih izbir za naslednje spustne menije? Na primer. Imam odvetnika za starše, dva otroška spustna menija sta Naslov in Telefonska številka. Ko izberem ime odvetnika, želim, da povezani spustni meni otroka samodejno izpolni naslov in telefonsko številko. Kako bi mi to uspelo?

Hvala vnaprej.

Sylvia
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Žal ti pri tem še ne morem pomagati. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Ali obstaja način za dodajanje več polj kategorije na podlagi ene izbire? na primer moram reči Izberi "Vino", vendar moram imeti možnost izbrati 5 možnosti (sadno, rdeče, močno, itd...) izmed 10 možnih možnosti na drugem spustnem seznamu polj. Sledil sem zgornjim navodilom in dobro deluje samo na enem polju z enim drugim odvisnim poljem. Potrebujem pa 5 odvisnih polj, ki jih vseeno sproži eno polje v tem primeru "vino". Podvojim spustno polje, ne deluje, poskušam dodati drugo polje v kodo, vendar ne vem, kako: ActiveDocument.FormFields("ddCategory") in ("ddCategory2")
Ta komentar je moderator na spletnem mestu minimiziral
Hi Ed,
Žal ti pri tem ne morem pomagati. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, kako lahko podvojim polje s kategorijami? Uporabil sem zgornjo kodo in deluje dobro, vendar samo za eno škatlo. Kaj naredim v kodi, če moram na primer izbrati do 3 sadeže, ko izberem skupino Sadje? Podvajam polje, ki sem ga ustvaril, vendar deluje samo eno.
-
Izberite
SADJE: banana
jabolko
"izberi predmet"


----------------------------------
Izberite
Zelenjava: zelje
čebula
"izberi predmet"
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za ta zelo uporaben vir.

Ali je mogoče isti odvisni spustni meni večkrat ponoviti znotraj obrazca?

Potrebujem polnilo obrazca za dodelitev kategorije vsaki novi vrstici (vendar z enakimi možnostmi vsakič). Uspešno sem ustvaril spustne menije, a ko omejim urejanje za testiranje, se zdi, da se ponastavijo, ko delam navzdol po vrsticah.

Hvala
Amy
Ta komentar je moderator na spletnem mestu minimiziral
Uporabljam isto kodo, vendar ima besedilo, s katerim zamenjam ddcategory, več kot 100 besed. Ali je sploh mogoče zaviti besedilo, da preprečimo, da bi zašel s strani in izginil?
Ta komentar je moderator na spletnem mestu minimiziral
Imam enak problem!! :0
Ta komentar je moderator na spletnem mestu minimiziral
سلام من همه مراحل رو رفتم ولی درآخر وقتی از لیست اول یه استان رو انتخاب می ک ا ا ش شه roko ده ویه ویویه ویه یه یهdigri یه یهlove ویویه ویه ویه ویه ویه ویست ده ویه ویست دست ویست ده ویست دست ویه ویست دست ویه ویه یهwiویه ویه یهwiویه ویه یهwiویه ویه یهwiوی”
چیکار باید بکنم؟
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, iz nekega razloga ne morem spremeniti ničesar drugega v datoteki word, če je spustni seznam aktiven. Ali obstaja način, da se temu izognemo?

Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Imam enak problem, če mi je kdo znal pomagati glede tega
Ta komentar je moderator na spletnem mestu minimiziral
To je bilo zelo koristno, hvala.
Imam vprašanje, ali obstaja način za spremembo kode, tako da se bo, ko izberem nov element s prvega spustnega seznama, odvisni element počistil?
Ta komentar je moderator na spletnem mestu minimiziral
Oprostite za pozen odgovor, šele danes sem naletel na to stran :-)
To že počne. Prvi stavek znotraj Select case ... End select konstrukcije počisti drugi seznam. Če noben od kriterijev ni izpolnjen, se nič ne doda.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, hvala za podrobno vadnico, vendar imam vprašanje, ker je besedna predloga za uporabo drugim, 
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, veliko hvala za podrobno vadnico, vendar imam vprašanje, ker je besedna predloga za uporabo drugim. Omenili ste zaščitni način in geslo je obvezno, to lahko storite, če jim povem geslo, potem pride do konflikta: treba je izpolniti še nekaj praznih mest, tega ni mogoče storiti samo, če je zaščitni način izklopljen. Kaj naj naredim? Ali obstaja kakšna metoda za zadovoljitev obeh potreb?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni,

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.

Ali je das möglich v Outlooku/Aufgaben?



Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Hi,
Ustvarite lahko spustni seznam s poljem po meri v oknu opravil Outlook, tako da sledite korakom v tem članku:
Kako dodati spustni seznam s datoteko po meri v oknu opravil Outlook?
https://www.extendoffice.com/documents/outlook/4453-outlook-custom-fields-tasks-drop-down.html
Ali pa ustvarite spustni seznam v wordu, nato pa ga po potrebi kopirajte in prilepite v okno opravil.
Če pa želite v Outlook Task ustvariti odvisne spustne sezname, še ni bila najdena nobena metoda.
Oprosti za to.
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL