Word: Eerste letter van invoer tekstvak naar hoofdletter

Status
Niet open voor verdere reacties.

RiaP

Gebruiker
Lid geworden
7 jan 2012
Berichten
10
Ik ben bezig met een Userform voor een brief. Het begin is gemaakt.

Begin brief.png

Ik wil graag het veld Tussenvoegsel in de adressering van de brief als: "van der" en in de aanhef als "Van der"
dus b.v. De heer J.J. van der Meer in de adressering en in de aanhef Geachte heer Van der Meer.

Tot nu toe heb ik dit als code
Bekijk bijlage code.txt

Hoe kan ik zorgen dat bij: ActiveDocument.Bookmarks("bmkTussenvoegsel2").Range.Text = frmBriefgegevens.txtTussenvoegsel.Tekst
de eerste letter een hoofdletter wordt. Iets met uCase? vbProper? Hoe frommel ik dat in de in de code.
 
Met zoiets:
Code:
Tussenvoegsel = UCase(Left(txtTussenvoegsel, 1)) & Mid(txtTussenvoegsel, 2)
 
Het filmpje is wel duidelijk maar het biedt een oplossing voor Excel, maar hoe te werk te gaan in Word?
 
Gebruik documentvariabelen in plaats van bladwijzers.

Code:
Private Sub cmdOK_Click()
  optvrouw = True
  txtvoorletters = "J.J."
  txttussenvoegsel = "van der"
  txtachternaam = "Meer"
  
  c00 = IIf(optvrouw, "Mevrouw ", "De heer ") & IIf(txtvoorletters <> "", txtvoorletters & " ", "") & Replace(IIf(txttussenvoegsel <> "", StrConv(Replace(txttussenvoegsel, " ", "_"), vbProperCase) & " ", ""), "_", " ") & IIf(txtachternaam <> "", txtachternaam, "")
  c01 = "Geachte " & IIf(optvrouw, "mevrouw ", "heer ") & IIf(txttussenvoegsel <> "", txttussenvoegsel & " ", "") & IIf(txtachternaam <> "", txtachternaam, "")
  
  activedocument.variables("adres") = c00
  activedocument.variables("aanhef") = c01
  activedocument.fields.update

  MsgBox c00 & vbLf & vbLf & c01

End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan