Hallo zusammen,
ich habe mir in word 2010 eine Userform gebastelt, bestehend aus zwei Eingabefeldern (Vorname + Nachname) sowie zwei Buttons (ok + cancel).
Vorname+Nachname sollen auf verschiedene Weißen bearbeitet werden und im Word Dokument über Bookmarks angezeigt werden.
1. Der Vorname soll so formatiert werden, dass nur der 1.+letzte Buchstabe angezeigt wird. Der Nachname soll nur aus den ersten 6 Zeichen bestehen.
Beispiel: Max Mustermann -> mxmuster
Das habe ich bereits so gelöst:
(Die beiden Eingabefelder: Vorname und Nachname werden über die Variablen txtVorname und txtNachname addessiert)
Private Sub cmdOk_Click()
'Vorname
Dim vn As String
Dim vnEdited As String
Dim vnTemp1 As String
Dim vnTemp2 As String
vn = txtVorname.Value
vn = LCase(vn)
vn = Replace(vn, "ä", "ae")
vn = Replace(vn, "ö", "oe")
vn = Replace(vn, "ü", "ue")
vnTemp1 = Left(vn, 1)
vnTemp2 = Right(vn, 1)
vnEdited = vnTemp1 & vnTemp2
'Nachname
Dim nn As String
Dim nnEdited As String
nn = txtNachname.Value
nn = LCase(nn)
nn = Replace(nn, "ä", "ae")
nn = Replace(nn, "ö", "oe")
nn = Replace(nn, "ü", "ue")
nnEdited = Left(nn, 6)
'Vorname+Nachname
Dim vnNnEdited As String
vnNnEdited = vnEdited & nnEdited
With ActiveDocument
.Bookmarks("vnNnEdited").Range.Text = vnNnEdited
End With
Application.ScreenUpdating = True
Unload Me
End Sub
2. Zusätzlich sollen Vorname und Nachname unterstrichen in einem weiteren Bookmark ausgegeben werden: der 1.+letzte Buchstabe des Vornamens sowie die ersten 6 Zeichen des Nachnamens sollen unterstrichen sein. Leider gibt es hier im Forum kein Unterstreichen, daher verdeutliche ich es in Fett:
Beispiel: Max Mustermann
Hier habe ich keine Ahnung, wie ich es lösen kann. Zwar gibt es viele Beispiele, diese beziehen sich aber immer auf Range oder select. Ich will aber nichts im Word Dokument markieren, ich will einfach nur die Variable txtVorname.Value unterstrichen ausgeben.
Beliebiges Beispiel: http://vbcity.com/forums/t/91131.aspx
Sub test()
errortxt = "WAN"
With ActiveDocument.Range.Find
.Text = errortxt
.MatchWholeWord = True
'i tried this
.Replacement.Font.Underline = wdUnderlineWavy
'and this
End With
End Sub
3. Nun will ich noch, dass zum Vornamen und dem Nachnamen @email.de angehängt wird und das ganze in einen Hyperlink umgewandelt wird.
'Email
Dim email As String
Dim emailKonst As String
emailKonst = "@email.de"
email = vn & nn & emailKonst
Auch hier gibt es wieder viele Beispiele, jedoch habe ich auch hier wieder das gleiche Problem: Alle Beispiele beziehen sich auf eine Selektion im Word Dok.
Beliebiges Beispiel: https://msdn.microsoft.com/de-de/library/office/ff192421.aspx
ActiveDocument.Hyperlinks.Add Address:="http://www.msn.com/", _
Anchor:=Selection.Range
Vielen Dank schonmal im Voraus für eure Hilfe,
macnair
|