Combobox in WORD vullen met gegevens uit een bestand

Status
Niet open voor verdere reacties.

Jossalet

Gebruiker
Lid geworden
2 sep 2009
Berichten
7
Ik gebruik vba in word en wil graag een combobox vullen met gegevens uit een bestand. Via een listbox wil ik een keuze kunnen maken uit deze gegevens. Ik heb de volgende code al gemaakt maar ik krijg niets te zien in een het userform. Wat doe ik verkeerd

#CODE#

Sub UserForm_Initialize()

'Add list entries to combo box. The value of each
'entry matches the corresponding ListIndex value
'in the combo box.
'Groep 7
Dim a() As String
Dim n As Integer
Dim o As Integer


o = -1
Do
n = n + 1
S = System.PrivateProfileString("C:\Tweestroom\leerlingen.txt", "Plaatsen", n)
If Len(S) Then o = o + 1: a(o) = S
Loop While Len(S)
ReDim Preserve a(o)
ComboBox1.List() = a


'Use drop-down list ComboBox1
ComboBox1.Style = fmStyleDropDownList
'Combo box values are ListIndex values
ComboBox1.BoundColumn = 0
'Set combo box to first entry
ComboBox1.ListIndex = 0


End Sub

Sub ComboBox1_Click()

Dim a() As Variant
Dim n As Integer
Dim o As Integer


o = 0
Do
n = n + 1
S = System.PrivateProfileString("C:\Tweestroom\leerlingen.txt", "Groep1", n)
If Len(S) Then o = o + 1: a(o) = S
Loop While Len(S)
ReDim Preserve a(o)
ComboBox1.Text() = S

End Sub
#END CODE#

De inhoud van het tekstbestand is:

[Groep1]
1=Jos
2=Henk

[Groep2]
1=Karel
2=Piet

Wie kan mij helpen.

Dank Jos:)
 
Kun je in gewoon Nederlands vertellen wat deze code doet en wat daarvan de bedoeling is ?
 
Combobox in Word

Dank voor je reactie,

Ik heb een goed werkend userform met de volgende code

Begin CODE


Sub UserForm_Initialize()

'Add list entries to combo box. The value of each
'entry matches the corresponding ListIndex value
'in the combo box.
'Groep 7

ComboBox1.AddItem "Lars" 'ListIndex = 0
ComboBox1.AddItem "Joris" 'ListIndex = 1


'Use drop-down list ComboBox1
ComboBox1.Style = fmStyleDropDownList
'Combo box values are ListIndex values
ComboBox1.BoundColumn = 0
'Set combo box to first entry
ComboBox1.ListIndex = 0



End Sub

Sub ComboBox1_Click()
Select Case ComboBox1.Value
Case 0 'Below Right
ComboBox1.Text = "Lars"
Case 1 'Centered
ComboBox1.Text = "Joris"
End Select
End Sub

End Sub

Eind CODE


Nu wil ik graag de namen uit een bestand halen en deze toewijzen aan
Combobox1.ADDitem en Combobox1.TEXT.

Ik dacht dat de bovenstaande code daar voor bedoeld was. (Van het internet gehaald)

Kunt u mij helpen met een stukje voorbeeldcode.

Dank Jos:D
 
1) je moet het text bestand openen met vba

2) maak een loop till .eof

3) zoek op het scheidingsteken

4) pak alle text rechts van dat scheidingsteken

5) combobox.additem & de string van punt 4

6) terug naar de loop

Als het niet lukt laat t hier weten dan zoek ik het vanavond thuis op, heb die code klaar liggen maar kom er nu niet bij.
 
Laatst bewerkt:
Algemeen advies: begin met VBA bij het begin en bouw het op. Doe alleen maar dingen die je zelf begrijpt. Pas je ambities aan aan je kennisnivo.
 
Combobox in Word

Dank voor het advies met betrekking tot doe dingen die je begrijpt binnen VBA.

Zou u zo vriendelijk willen zijn om een stukje werkende code naar mij toe te sturen. Dan kan ik kijken of ik het begrijp.

Met vriendelijke groet,

Jos
 
Combobox in word

Algemeen advies: begin met VBA bij het begin en bouw het op. Doe alleen maar dingen die je zelf begrijpt. Pas je ambities aan aan je kennisnivo.

Heeft u wellicht nog een advies met betrekking tot een goed boek over VBA en dan met name voor WORD.

Jos
 
Code:
Function t()
    Dim File1 As Integer, strLine As String
    
    File1 = FreeFile
    Open "C:\Tweestroom\leerlingen.txt", " For Input As #File1
    
    Do While Not EOF(File1)
        Input #File1, strLine
        
        ComboBox1.addItem Right(strLine, Len(strLine) - InStr(1, strLine, "=", vbTextCompare))
    Loop

    Close #File1
End Function

suc6
 
Laatst bewerkt:
Guy Hart Davies :Word macro and VBA handbook., uitgeverij Sybex

Guy Hart Davies heeft meer gepubliceerd voor macro's; allemaal goed leesbaar.
 
Combobox in word

Allebei hartelijk dank voor jullie tijd.

Ik meld me weer als ik weer een vraag heb.

Jos
 
Gebruik geen additem om een combobox te vullen.
En gebruik zeker geen funktie voor een aktiviteit (functions zijn er voor berekeningen)
Voortgaande op een suggestie van pdb4499
Dit is voldoende met hetzelfde effekt

Code:
Sub lees()
  Open "C:\Tweestroom\leerlingen.txt" For Input As #1
    combobox1.list=split(input(LOF(1),#1),vbCrLf)
  Close #1
End Sub
 
Combox vullen

Ik heb geen functie gebruikt maar de code gewoon opgenomen in het initialiseren van het userform. De code werkt wel maar ik ga uw code gebruiken.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan