Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 11 van 11

Onderwerp: Inhoudsbesturingselementen voor keuzelijsten met invoervak

  1. #1
    Vraag is opgelost

    Inhoudsbesturingselementen voor keuzelijsten met invoervak

    Hallo, is er in word 2010 een mogelijkheid om het "Inhoudsbesturingselement voor keuzelijsten met invoervak" via een Array te vullen?
    Bijv.
    Dim code AS variant
    code = Array(" ","een","twee","enz tot ongeveer vijftig")

    keuzelijst naam.list = code

    In de oudere versies van Word kon dit, maar het oude ActiveX besturingselement wil ik niet gebruiken.

    BVD,

    Peter

  2. #2
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Hier lukt het wel mee:
    Code:
    Sub testCC()
    Dim cc As ContentControl
    Dim arr As Variant
    Dim i As Integer
        arr = Array("Jan", "Piet", "Klaas")
        Set cc = ActiveDocument.ContentControls(1)
        For i = LBound(arr) To UBound(arr)
            cc.DropdownListEntries.Add arr(i)
        Next i
    End Sub
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  3. #3
    Hallo OctaFish,

    bedankt voor de oplossing. Het werkt prima.
    Maar er is altijd een maar.... : wat als ik meerdere keuzelijsten gebruikt? Is het dan ook mogelijk?

    Thanks,

    Peter

  4. #4
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Dan is het nog steeds mogelijk, maar dan moet je wat specifieker weten om welke keuzelijst het gaat. Ofwel door het index nummer te weten (bij 1 keuzelijst is dat makkelijk) ofwel door bijvoorbeeld de tag of titel uit te lezen en te vergelijken.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  5. #5
    Hallo Octafish,

    hierbij het formulier waar het om gaat. Ik wilde het sjabloom als bijlage toevoegen maar dat ging niet, kreeg hier een foutmelding bij.
    Het gaat om de keuzelijsten met invoervak bij de tekst "Objectnr". Ik weet niet waar ik de tag of titel kan uitlezen?

    BVD,

    Peter
    Attached Files Attached Files

  6. #6
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Je keuzelijsten hebben wel allemaal een unieke titel, maar hetzelfde label (=Tag). Die laatste eigenschap kun je dus niet gebruiken, tenzij je wilt dat alle keuzelijsten met dezelfde tag dezelfde lijst met waarden krijgen. Met deze macro kun je ze checken:
    Code:
    Sub CheckContentControls()
    'wdContentControlRichText(0)                Een inhoudsbesturingselement voor tekst met opmaak.
    'wdContentControlText(1)                    Een inhoudsbesturingselement voor tekst.
    'wdContentControlPicture(2)                 Een inhoudsbesturingselement voor een afbeelding.
    'wdContentControlComboBox(3)                Een inhoudsbesturingselement voor een keuzelijst met een invoervak.
    'wdContentControlDropdownList(4)            Een inhoudsbesturingselement voor een vervolgkeuzelijst.
    'wdContentControlBuildingBlockGallery(5)    Een inhoudsbesturingselement voor een galerie met bouwstenen.
    'wdContentControlDate(6)                    Een inhoudsbesturingselement voor een datum.
    'wdContentControlGroup(7)                   Een inhoudsbesturingselement voor een groep.
    'wdContentControlCheckbox(8)                Een inhoudsbesturingselement voor een selectievakje.
    
    Dim aDoc As Document
    Dim objCC As ContentControl
    Dim arr As Variant
    Dim i As Integer
        
        Set aDoc = ActiveDocument
        For Each objCC In aDoc.ContentControls
            If objCC.Type = wdContentControlComboBox And objCC.Title <> "" Then
                MsgBox objCC.Title & vbLf & objCC.Tag
            End If
        Next objCC
    
    End Sub
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  7. #7
    Hallo OctaFish,

    alle keuzenlijsten met dezelfde Tag mogen met dezelfde waarden worden gevuld.

    B.V.D.

    Peter

  8. #8
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    In dat geval heb je volgens mij alle elementen om de macro zelf af te maken. Kwestie van de laatste macro combineren met de eerste. Om een hint te geven: de matrix vul je natuurlijk maar één keer (eerste macro) en in de tweede macro vervang je And objCC.Title <> "" door And objCC.Tag = "Object" want je vergelijkt nu op basis van de tag. En er komt dus een lusje bij die elke keuzelijst die voldoet aan de eisen vult met de waarden uit de array.
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  9. #9

    Thumbs up

    Hallo Octafish,

    bedankt voor je hulp. Na verschillende code's te hebben gecombineerd heb ik het draaiende gekregen.

    Thanks,

    Peter

  10. #10
    Tera Honourable Senior Member
    Verenigingslid
    OctaFish's avatar
    Geregistreerd
    6 februari 2009
    Locatie
    Rotterdam
    Afstand tot server
    ±151 km
    Helemaal goed, dan heb je mijn code niet nodig . Post 'm nog even voor de meelezers, dan hebben die er ook nog wat aan .
    Gebruik de QUOTE knop alleen als je iets wit citeren.
    Op deze pagina kun je zien hoe je met TAGS werkt.

  11. #11
    Beste Octafish,

    ik heb wel jouw code gebruik, zie hier:

    Code:
    Sub CheckContentControls()
    
    Dim aDoc As Document
    Dim cc As ContentControl
    Dim objCC As ContentControl
    Dim arr As Variant
    Dim i As Integer
    Dim a As Integer
        arr = Array(" ", "1", "2", "3", "4")
        Set aDoc = ActiveDocument
        a = ActiveDocument.ContentControls.Count
        For Each objCC In aDoc.ContentControls
            For a = 1 To a
                Set cc = ActiveDocument.ContentControls(a)
                If objCC.Type = wdContentControlComboBox And objCC.Tag = "" Then
                    For i = LBound(arr) To UBound(arr)
                        cc.DropdownListEntries.Add arr(i)
                    Next i
                End If
                If a = 8 Then '8 is het aantal combobox'en
                    Exit For
                End If
            Next a
        Next objCC
    End Sub
    Misschien dat jij het kan fine-tunen?

    Nogmaals bedankt,

    mvg Peter

  12. Dit topic is automatisch gesloten omdat er sinds vier maanden niet meer op gereageerd is.

    Indien gewenst kan de topicstarter een verzoek tot heropening indienen.

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren