Thema Datum  Von Nutzer Rating
Antwort
08.11.2016 15:05:08 Florian
NotSolved
08.11.2016 20:52:15 BigBen
NotSolved
09.11.2016 20:53:54 Florian
NotSolved
09.11.2016 23:52:37 Florian
NotSolved
Rot Musterbriefe mit Infos aus Tabelle befüllen
10.11.2016 17:18:27 BigBen
NotSolved
10.11.2016 19:11:43 Florian
NotSolved
11.11.2016 15:55:01 BigBen
NotSolved
15.11.2016 00:50:41 Florian
NotSolved
15.11.2016 19:56:43 BigBen
NotSolved
16.11.2016 16:31:25 Tim
NotSolved
17.11.2016 12:24:44 Gast81156
NotSolved
21.11.2016 17:12:22 Florian
Solved

Ansicht des Beitrags:
Von:
BigBen
Datum:
10.11.2016 17:18:27
Views:
942
Rating: Antwort:
  Ja
Thema:
Musterbriefe mit Infos aus Tabelle befüllen

Hallo,

heutezutage würde ich eher ein Ritch-Text-Steuerelement in einem Word-Dokument einfügen. Diese sind wesentlich flexibler, als die alten Formular-Steuerelremente.

Falls im Word-Dokument ein Steuerelement mit dem Tag "Text1" vorhanden ist, wird dieses mit einem Text gefüllt.

Zusätzlich kann auch in Word eingestellt werden ob das Steuerelement selbst nach dem Ausfüllen noch als solcxhes ebestehen bleiben soll.

Private Sub cmdtest_Click()
    Dim wrdApp As Word.Application
    Dim wrdDoc As Word.Document
    Dim ctrlText1 As Word.ContentControl

    Dim Pfad As String

    Pfad = ThisWorkbook.Path & "\Vorlage2.docx"
   
    On Error GoTo Err_Handler
    
    Set wrdApp = CreateObject("Word.Application")
    Set wrdDoc = wrdApp.Documents.Open(Pfad)
    wrdApp.Visible = False
    
    Set ctrlText1 = SearchContentControl(wrdDoc, "Text1")
    If Not ctrlText1 Is Nothing Then
        ctrlText1.Range.Text = "Test erfolgreich"
    End If
    ' wrdDoc.FormFields("Text1").Value = "test erfolgreich"
    
    Pfad = ThisWorkbook.Path & "\Testpfad\" & "Fertig" & ".pdf"
    wrdDoc.Save
    wrdDoc.Close
Err_Exit:
    If Not wrdAp Is Nothing Then
        wrdApp.Quit True
    End If
    
    Set wrdDoc = Nothing
    Set wrdApp = Nothing
    Exit Sub
Err_Handler:
    MsgBox "Es ist ein Fehler aufgetreten.", vbInformation
    Err.Clear
    Resume Err_Exit
End Sub

Function SearchContentControl(Doc As Word.Document, Tag As String) As Word.ContentControl
    Dim ctrl As Word.ContentControl
    For Each ctrl In Doc.ContentControls
        If ctrl.Tag = Tag Then
            Set SearchContentControl = ctrl
            Exit For
        End If
    Next
End Function

Da dieser VBA-Code von Excel aus ausgeführt werden soll, muss ein Verweis auf "Microsoft Word" vorhanden sein.

Ein funktionierendes Beispiel ist hier abgelegt: https://www.dropbox.com/s/rux8rtycm7shdnc/Als%20Word-Dokument%20speichern.zip?dl=0

LG, BigBen


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
08.11.2016 15:05:08 Florian
NotSolved
08.11.2016 20:52:15 BigBen
NotSolved
09.11.2016 20:53:54 Florian
NotSolved
09.11.2016 23:52:37 Florian
NotSolved
Rot Musterbriefe mit Infos aus Tabelle befüllen
10.11.2016 17:18:27 BigBen
NotSolved
10.11.2016 19:11:43 Florian
NotSolved
11.11.2016 15:55:01 BigBen
NotSolved
15.11.2016 00:50:41 Florian
NotSolved
15.11.2016 19:56:43 BigBen
NotSolved
16.11.2016 16:31:25 Tim
NotSolved
17.11.2016 12:24:44 Gast81156
NotSolved
21.11.2016 17:12:22 Florian
Solved