Supportnet Computer
Planet of Tech

Supportnet / Forum / Datenbanken

Access Formular Daten in Word Dokument einfügen





Frage

Hallo zusammen. Habe folgendes Problem: Ich möchte per Befehlsschaltfläche die gerade in einem Formular erfassten Daten per Befehlsschaltfläche in ein vorbereitetes Word Dokument übernehmen. D.h. ich habe in dem Formular z.B. einen Kunden mit Anschrift und diese Daten sollen automatisch in einen Briefkopf geschrieben werden, so das ich dann manuell den Brief schreiben kann. Danke schon mal im voraus.

Antwort 1 von Netzkoordinator

Private Sub btnAdresseNachWord_Click()
´### Adresse erstellen mit WORD ################
Dim wwobj As Object         ´für ein Wordobjekt
Dim transfertxt As String   ´Variable für die zu übergebenen Werte aus den Feldern
Dim vorlage As String       ´der Name der Vorlage

On Error GoTo WORDFEHLER    ´Fehlerbehandlung

    ´neues Objekt erstellen
    Set wwobj = CreateObject("Word.Application")
    wwobj.Visible = True
    ´maximieren
    ´wwobj.WindowState = wdWindowStateMaximize
    wwobj.WindowState = 1
    
    ´Vorlage -Brief.dot- für neues Dokument aus Einstellungstabelle auslesen
    vorlage = GetEinstellung("Adressen") ´Tabelle, wo der Pfad zur Vorlage hinterlegt ist
    ´neues Dokument erstellen
    wwobj.Documents.Add Template:=vorlage
    
    ´Übergabe der Feldinhalte an Textmarken (TM...)
    ´KundenNummer
    wwobj.Selection.GoTo What:=-1, Name:="TMKNDNr" ´Textmarke KundenNummer
    transfertxt = Me.KundenNummer
    wwobj.Selection.TypeText Text:=transfertxt
    
    ´Vorname
    wwobj.Selection.GoTo What:=-1, Name:="TMVorname"
    transfertxt = Me!Vorname
    wwobj.Selection.TypeText Text:=transfertxt

    ´Nachname
    wwobj.Selection.GoTo What:=-1, Name:="TMNachName"
    transfertxt = Me!NachName
    wwobj.Selection.TypeText Text:=transfertxt

´usw ...    

    
    ´Wordobjekt leeren
    Set wwobj = Nothing

WORDENDE:
    
    Exit Sub
    
WORDFEHLER:

´Hier kannst du eine Fehlerbehandlung einbauen



Dieser Code geht von einer Wordvorlage aus, die sich an einem vordefinierten (Abgelegt in einer Tabelle mit LW:\Pfad\Dateiname) Ort befinden muß.
Die Wordvorlage Brief.dot muß noch Textmarken haben, die die Daten aus Access aufnimmt.

HINWEIS: Den Cod einfach abtippen oder per D&D übernehmen, führ siche nicht zum Erfolg.
Es ist nicht so einfach, komplexe Aufgaben in Access zu realisieren und hier auch noch zu Dokumentieren ...

Antwort 2 von MarcoB10

Das sieht doch schon sehr gut aus. Ich denke ich werde es mit diesem Gerüst als Basis hinbekommen.
Vielen Dank.

Antwort 3 von MarcoB10

Hallo, ich nochmal.

Das Modul funktioniert jetzt.
Nur wie weise ich das Modul einer Befehlsschaltfläche zu?

gruß
Marco

Antwort 4 von MarcoB10

Halt.
Habs schon gefunden.
Danke nochmal.

Antwort 5 von Netzkoordinator

Ich ´male´ erst die Schaltfläche, weise ihr eine Bezeichnung zu und rufe dann den VBA-Modus auf, das hat den Vorteil, daß dann schon der Click-Name zum Button passt und man da nichts mehr ändern muß und kann dann den Code bearbeiten oder erstellen oder einfügen ...

Antwort 6 von MarcoB10

Hi.

Also irgendwie gestaltet sich das noch ein wenig problematisch.

Ich habe den Code einer Schltfläche in meinem Formular zugewiesen. In meiner Wordvorlage habe ich die Textmarkrn eingefügt. Cursor an die Position der Marke -> Einfügen -> Textmarke -> Name der Marke.
Wenn ich jetzt den Button betätige offnet sich auch das Dokument, nur leider wird nichts in den Textmarken eingefügt.
Ich kopiere dir noch mal den Code hier rein. Vielleicht ist da ja noch ein Fehler.
Schonmal Danke im voraus.
Gruß Marco


Private Sub Befehl8_Click()

´### Adresse erstellen mit WORD ################

Dim wwobj As Object ´für ein Wordobjekt
Dim transfertxt As String ´Variable für die zu übergebenen Werte aus den Feldern
Dim charter As String ´der Name der Vorlage

On Error GoTo WORDFEHLER ´Fehlerbehandlung

´neues Objekt erstellen
Set wwobj = CreateObject("Word.Application")
wwobj.Visible = True
´maximieren
´wwobj.WindowState = wdWindowStateMaximize
wwobj.WindowState = 1

´Vorlage -Brief.dot- für neues Dokument aus Einstellungstabelle auslesen
charter = "c:\charter.dot"
´Tabelle, wo der Pfad zur Vorlage hinterlegt ist
´neues Dokument erstellen
wwobj.Documents.Add Template:="c:\charter.dot"

´Übergabe der Feldinhalte an Textmarken (TM...)


´KundenNummer
´wwobj.Selection.GoTo What:=-1, Name:="TMKNDNr" ´Textmarke KundenNummer
´transfertxt = Kunden.kd - nr
´wwobj.Selection.TypeText Text:=transfertxt

´Vorname
wwobj.Selection.GoTo What:=-1, Vorname:="TMvorname"
transfertxt = Kunden!Vorname
wwobj.Selection.TypeText Text:=transfertxt

´Name
wwobj.Selection.GoTo What:=-1, Name:="TMname"
transfertxt = Kunden!Name
wwobj.Selection.TypeText Text:=transfertxt

´usw ...


´Wordobjekt leeren
´Set wwobj = Nothing

WORDENDE:

Exit Sub

WORDFEHLER:

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: