Office: Word Dokument aus Formular erstellen mit Tabelleneinträgen

Helfe beim Thema Word Dokument aus Formular erstellen mit Tabelleneinträgen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Community, ich habe eine Frage. Ich habe ein Formular erstellt um Namen, Vornamen und Adresse in meine Datenbank einzutragen. Jetzt möchte ich... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Friedrich90, 14. Juni 2014.

  1. Word Dokument aus Formular erstellen mit Tabelleneinträgen


    Hallo Community,

    ich habe eine Frage. Ich habe ein Formular erstellt um Namen, Vornamen und Adresse in meine Datenbank einzutragen. Jetzt möchte ich einen Button programmieren, um automatisch ein Word Dokument zu öffnen. In dem Dokument soll bereits ein Standardtext und Name sowie Anschrift aus dem Formular eingefügt sein.
    Wie kann ich das realisieren?
    Vielen Dank im Voraus.

    Freundliche Grüße
     
    Friedrich90, 14. Juni 2014
    #1
  2. Exl121150 Erfahrener User
    Hallo,

    im nachfolgenden VBA-Code wird vorausgesetzt, dass das Formular Folgendes enthält:
    1) ein Textfeld namens "txtVorname", das den Vornamen enthält
    2) ein Textfeld namens "txtFamName", das den Familiennamen enthält
    3) ein Textfeld namens "txtStrasse", das die Straßenbezeichnung samt Hausnummer enthält.
    4) eine Schaltfläche namens "cmdWordÖffnen", dessen Klick-Ereignis mit dem folgenden Makro verknüpft ist.

    Die Word-Applikation-Instanz kann mithilfe von 2 Verfahren erzeugt werden:
    1) Methode "EarlyBinding" (ist nur als Kommentar enthalten)
    2) Methode "LateBinding" (ist aktiviert)
    Man muss entweder die eine oder die andere Methode verwenden.
    Ich habe beim Programmieren dieses Demomakros
    1) die 3 Kommentarzeichen bei "EarlyBinding" entfernt
    2) die 3 Zeilen bei "LateBinding" auskommentiert
    3) den restlichen Makrocode ab "With ObjWord..." geschrieben und getestet.
    4) danach die 3 Zeilen bei "EarlyBinding" auskommentiert
    5) bei den 3 Zeilen von "LateBinding" das Kommentarzeichen entfernt.

    Programmablauf:
    1) Es wird eine sichtbare Word-Application-Instanz erzeugt (objWord)
    2) Zu dieser wird ein Word-Document hinzugefügt (objDoc)
    3) In dieses werden 3 Absätze eingefügt, enthaltend den Vornamen, Familiennamen und Straße.

    Code:
    Private Sub cmdWordÖffnen_Click()
    
    ' 1. Methode "EarlyBinding" --------------------
    ' Voraussetzung: Menü "Extras" > Befehl "Verweise..." > Liste Verfügbare Verweise > "Microsoft Word xx.x Object Library" muss angehakt sein.
    ' Vorteil: Weit bequemere Programmierbarkeit.
    '   Dim objWord As Word.Application
    '   Dim objDoc As Word.Document
    '   Set objWord = New Word.Application
      
    ' 2. Methode "LateBinding" ---------------------
    ' Keine Voraussetzung - nur Word muss vorhanden/registriert sein.
    ' Nachteil: Man muss beim Programmieren sämtliche Objekte/Eigenschaften/Methoden auswendig kennen.
      Dim objWord As Object
      Dim objDoc As Object
      Set objWord = CreateObject("Word.Application")
      
      With objWord
         .Visible = True
         Set objDoc = .Documents.Add
         With objDoc
            With .Paragraphs.Add().Range
              .InsertAfter Text:="Vorname: " & Me.txtVorname
            End With
            With .Paragraphs.Add().Range
              .InsertAfter Text:="Fam.Name: " & Me.txtFamName
            End With
            With .Paragraphs.Add().Range
              .InsertAfter Text:="Straße: " & Me.txtStrasse
            End With
         End With
      End With
    End Sub
    
     
    Zuletzt bearbeitet: 15. Juni 2014
    Exl121150, 15. Juni 2014
    #2
  3. Hallo,

    das das Problem mit Bookmarks gelöst. Habe eine Methode geschrieben, welche sich den passenden Datensatz zu einem Parameter sucht.

    Sub fnbestaetigung(id As Integer)

    ' öffnet Word und setzt die Werte der Tabellen für die Bookmarks ein

    Dim pfad As String 'Definiert eine String Variable für den Pfad zu dem dotx Dokument
    Dim db As DAO.Database 'Definieren einer Variable vom Typ Dao.database für dein Zugriff auf die Tabelle
    Dim rec As Recordset 'Definieren einer Variable vom Typ Recordset um den SQL Befehl auszuführen
    Dim str As String 'Definieren einer String Variable um den SQL Befehl in einer Variable zu übergeben
    Dim word As New word.Application 'Definiere die Variable word vom Datentyp Wort. Application um auf Word zuzugreifen

    Debug.Print "id: " & id ' Ausgabe der ID im Direktbereich. Die ID ist im Formular nicht sichtbar.

    If id = 0 Then 'Beim Aufruf des Makros wird wird bei einer leeren mit der Methode NZ eine Null übergeben.
    'Bei Null wird eine Meldung ausgegeben.
    MsgBox "Kein Bewerber ausgewählt!"
    Exit Sub
    End If

    Set db = CurrentDb 'Zuweisen der aktuellen Datenbank für die Variable db

    str = "SELECT b.nachname AS tabelle_bewerber_nachname, b.vorname, b.plz, b.ort, b.strasse_und_hausnummer, b.anrede, a.Nachname AS tabelle_sachbearbeiterdetails_Nachname, a.Kürzel, a.Durchwahl " & _
    "FROM tabelle_sachbearbeiterdetails AS a INNER JOIN tabelle_bewerber AS b ON a.Nachname = b.Sachbearbeiter " & _
    "Where b.bewerber_id = " & id

    Debug.Print "SQL Befehl: " & str 'Drucken des SQL Befehls um Fehler zu findene

    Set rec = db.OpenRecordset(str)

    Debug.Print "rec(0): " & rec(0) 'rec(0) = Nachname
    Debug.Print "rec(1): " & rec(1) 'rec(1) = Vorname
    Debug.Print "rec(2): " & rec(2) 'rec(2) = plz
    Debug.Print "rec(3): " & rec(3) 'rec(3) = Ort
    Debug.Print "rec(4): " & rec(4) 'rec(4) = Strasse und Hausnummer
    Debug.Print "rec(5): " & rec(5) 'rec(5) = Anrede
    Debug.Print "rec(6): " & rec(6) 'rec(6) = Sachbearbeiter Nachname
    Debug.Print "rec(7): " & rec(7) 'rec(7) = Sachbearbeiter Kürzel
    Debug.Print "rec(8): " & rec(8) 'rec(8) = Sachbearbeiter Durchwahl

    'Die Daten von Access an die Bookmarks von Word senden:

    word.Documents.Add ("O:\Personalservice\Datenbanken\Datenbank Ferienarbeiter\Vorlagen Ferienarbeiter\Eingangsbestätigung_VORLAGE.dotx") ' Word Dokuement öffnen

    word.Visible = True 'Word Dokument anzeigen



    'Bookmark(1) = Anrede1
    'Bookmark(2) = Anrede2
    'Bookmark(3) = Durchwahl Sachbearbeiter
    'Bookmark(4) = geehrte
    'Bookmark(5) = KürzelSachbearbeiter
    'Bookmark(6) = Nachname1
    'Bookmark(7) = Nachname2
    'Bookmark(8) = NachnameSachbearbeiter
    'Bookmark(9) = ort
    'Bookmark(10) = plz
    'Bookmark(11) = Strasse und Hausnummer
    'Bookmark(12) = Vorname

    If Not IsNull(rec(0)) Then 'Prüfen ob der Datensatz der im Recordset gespeichert wurde leer ist. Wenn er nicht leer ist ist die Bedingung erfüllt.
    word.ActiveDocument.Bookmarks(6).Range.Text = rec(0) 'Zuweisen der Bookmarks. Der Datrensatz aus dem Recordset wird an das Bookmark übergeben
    word.ActiveDocument.Bookmarks(7).Range.Text = rec(0)
    End If

    If Not IsNull(rec(1)) Then
    word.ActiveDocument.Bookmarks(12).Range.Text = rec(1)
    End If

    If Not IsNull(rec(2)) Then
    word.ActiveDocument.Bookmarks(10).Range.Text = rec(2)
    End If


    If Not IsNull(rec(3)) Then
    word.ActiveDocument.Bookmarks(9).Range.Text = rec(3)
    End If

    If Not IsNull(rec(4)) Then
    word.ActiveDocument.Bookmarks(11).Range.Text = rec(4)
    End If

    If Not IsNull(rec(5)) Then
    word.ActiveDocument.Bookmarks(2).Range.Text = rec(5)

    If rec(5) = "Herr" Then
    word.ActiveDocument.Bookmarks(1).Range.Text = "Herrn"
    word.ActiveDocument.Bookmarks(4).Range.Text = "geehrter"
    Else
    word.ActiveDocument.Bookmarks(1).Range.Text = rec(5)
    word.ActiveDocument.Bookmarks(4).Range.Text = "geehrte"
    End If

    End If

    If Not IsNull(rec(6)) Then
    word.ActiveDocument.Bookmarks(8).Range.Text = rec(6)
    End If

    If Not IsNull(rec(7)) Then
    word.ActiveDocument.Bookmarks(5).Range.Text = rec(7)
    End If

    If Not IsNull(rec(8)) Then
    word.ActiveDocument.Bookmarks(3).Range.Text = rec(8)
    End If



    rec.Close 'Schliessen des Recordsets


    Set rec = Nothing 'Speicher für das Recordset leeren
    Set db = Nothing 'Speicher für die Variable db leeren

    End Sub
     
    Friedrich90, 19. Juni 2014
    #3
Thema:

Word Dokument aus Formular erstellen mit Tabelleneinträgen

Die Seite wird geladen...
  1. Word Dokument aus Formular erstellen mit Tabelleneinträgen - Similar Threads - Word Dokument Formular

  2. Numerierung in eingefügt Tabellen in Word Dokument

    in Microsoft Word Hilfe
    Numerierung in eingefügt Tabellen in Word Dokument: Hallo erstmal und Danke für die Aufnahme Ich versuche seit langem eine Nummerierung in einer in Word eingefügten Tabelle hinzubekommen und schaffe es nicht. Könnte sich das jemand anschauen? mfg Kai
  3. Word Dokument wird in Excel nicht als Serienbriefhauptdokument erkannt

    in Microsoft Excel Hilfe
    Word Dokument wird in Excel nicht als Serienbriefhauptdokument erkannt: Hallo liebe Community, Ich versuche gerade aus Excel heraus per VBA einen Serienbrief zu generieren. Den Serienbrief in Word habe ich vorab mit dem Serienbrief Assistenten erstellt und...
  4. Word Zuletzt verwendete Dokumente

    in Microsoft Word Hilfe
    Word Zuletzt verwendete Dokumente: Hallo, hab mal ne Frage, zu der ich allerdings schon viele Einträge gefunden habe, die mir aber nicht weiterhelfen. In „Office 2007“ unter Win 10 pro sind die Listen in Word und Excel „Zuletzt...
  5. Automatisches Einfügen eines Fotos in ein Word Dokument und anschließender automatischer Ausdruck

    in Microsoft Word Hilfe
    Automatisches Einfügen eines Fotos in ein Word Dokument und anschließender automatischer Ausdruck: Einen wunderschönen guten Tag. Ich möchte mich gleich zu Beginn als absoluter Neuling outen. Folgendes Problem habe ich zu lösen und bin relativ schnell an meine Grenzen gestoßen. Für eine...
  6. Dukumente erstellen mit VBA?

    in Microsoft Word Hilfe
    Dukumente erstellen mit VBA?: Moin. Ich bin auf der Suche nach einer Arbeitserleichterung im Job. Folgende Problemstellung: Im Büro (Stadtverwaltung) benutzen wir viele Dokumente gleichen textlichen Inhalts, die aber...
  7. Adressdatenbank - über Formular ein Word-Dokument erstellen

    in Microsoft Access Hilfe
    Adressdatenbank - über Formular ein Word-Dokument erstellen: Hallo Zusammen, ich benötige eure Unterstützung. Ich habe in Access eine Adressdatenbank aufgebaut. Grundsätzlich möchte ich Word-Dokumente (Vorlagen) aus Access öffnen und dabei mit...
  8. Verknüpfung einer Excel-tab. in ein Word-Dokument (Formular)

    in Microsoft Excel Hilfe
    Verknüpfung einer Excel-tab. in ein Word-Dokument (Formular): Hallo, ich habe folgendes Problem. Ich möchte eine Excel-tabelle mit einem Worddokument verknüpfen. Bei der Exceltabelle ändert sich immer mal die Anzahl der Zeilen (evnt. auch die...
Schlagworte:
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden