Thema Datum  Von Nutzer Rating
Antwort
Rot Word vba: Userform variablen bearbeiten
21.09.2016 23:33:15 macnair
NotSolved

Ansicht des Beitrags:
Von:
macnair
Datum:
21.09.2016 23:33:15
Views:
1077
Rating: Antwort:
  Ja
Thema:
Word vba: Userform variablen bearbeiten

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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Word vba: Userform variablen bearbeiten
21.09.2016 23:33:15 macnair
NotSolved