evolution
Goto Top

Access 2013 - Daten an Word-Dokument übergeben und drucken

Hallo, ich habe eine Frage zu Access 2013. Ist es möglich aus Access heraus einen Druckauftrag eines Word-Dokuments anzustoßen und aus der DB einige Daten an das Dokument zu übergeben?
Hintergrund ist folgender. Zur Zeit erzeuge ich immer Berichte mit Kundendaten, die dann gedruckt werden. Diese Berichte ändern sich aber häufig und ich möchte nicht, dass jemand an der Access DB arbeitet.

ich dachte mir, es ist doch bestimmt einfacher, wenn man diverse Word-Serienbrief in einem Vorlagen-Verzeichnis hat und dann in Access nur noch den Kunden und das Dokument wählt. Dann kann die Sekretärin je nach Bedürfnis die Word-Dateien abändern. Das kann Sie ja..

Hat das schon mal wer gemacht und hat eine Beispiel für mich?

Danke!

Content-ID: 266555

Url: https://administrator.de/contentid/266555

Ausgedruckt am: 08.11.2024 um 21:11 Uhr

eisbein
eisbein 17.03.2015 aktualisiert um 12:45:18 Uhr
Goto Top
Mahlzeit!

Ist es möglich aus Access heraus einen Druckauftrag eines Word-Dokuments anzustoßen

Mittels VBA kannst du das Word-Dokument öffnen und auch drucken. Ist aber etwas umfangreich, da jedes Word-Dokument anders ist.

ich möchte nicht, dass jemand an der Access DB arbeitet

Wenn du diese nicht explizit geschützt hast wird das aber nichts werden, selbst ein Datenbank-Kennwort kann man mit einfachen Mitteln knacken face-smile

ich dachte mir, es ist doch bestimmt einfacher, wenn man diverse Word-Serienbrief in einem Vorlagen-Verzeichnis hat und dann in Access nur noch den Kunden und das Dokument wählt. Dann kann die Sekretärin je nach Bedürfnis die Word-Dateien abändern

Warum machst du es nicht anders rum und Word soll die Daten aus Access holen?

Geht es also nur darum eine bestimmte Datei zu drucken, ohne vorher Veränderungen vorzunehmen oder soll ein Word-Vorlage geöffnet, befüllt und gedruckt werden?

Gruß
Eisbein
evolution
evolution 17.03.2015 aktualisiert um 12:46:56 Uhr
Goto Top
Nun ja.. Es geht nicht ums Knacken der DB. Die wird eh nur von Sekretärinnen bedient, die sich nicht damit auskennen.
Es geht darum eine komfortable Oberfläche zu bieten. Es gibt ca. 120 verschiedene Berichte, die aber immer mal im Wortlaut geändert werden müssen. Da kommen Änderungen unserer Rechtsabteilung bis zu 4 mal am Tag. Da kannst du ja gleiche jemand dafür einstellen.

Wenn ich es als Serienbrief aus Word heraus hole, muss immer erst noch gefiltert werden. Das ist zu viel Aufwand..

In Access soll einfach ein Formular erzeugt werden, in dem der Kunde gewählt wird, dann der passende Brief und dann Feuer!
eisbein
eisbein 17.03.2015 um 12:47:33 Uhr
Goto Top
Hallo!

Geht es also nur darum eine bestimmte Datei zu drucken, ohne vorher Veränderungen vorzunehmen oder soll ein Word-Vorlage geöffnet, befüllt und gedruckt werden?

Kannst du das ganze etwas genauer schildern?

Gruß
Eisbein
evolution
evolution 17.03.2015 um 12:52:19 Uhr
Goto Top
Nochmal.. zu deinem Nachtrag:

Es soll ein Verzeichnis mit Word-Serienbriefen geben. Da liegen dann die verschiedenen Versionen drin. In der Datei sind Platzhalter für die Kundendaten.
An den Variablen/Feldnamen wird nicht geändert.. Die werde ich dann alle aufbereiten.
Die Sekretärinnen müssen die Word-Dateien bearbeiten können. Textliche Veränderungen auf Grund der Rechtsabteilung..

Aus Access wird dann über ein Formular der Kunde ausgewählt. Darunter dann eine Liste mit den vorhandenen Dokumenten, um eins auszuwählen.
Dann einfach nur noch Drucken. Veränderungen werden von dieser Stelle aus nicht gemacht..
eisbein
eisbein 17.03.2015 um 12:59:42 Uhr
Goto Top
Ich muss noch einmal nachfragen, um sicher zu gehen, dass wir konform sind.

Die Word-Serienbriefe sind bereits fix mit der Datenquelle verknüpft und befüllt? Es geht nur darum via Access eine Datei xy zu wählen und zu drucken?

Gruß
Eisbein
eisbein
eisbein 17.03.2015 aktualisiert um 13:49:41 Uhr
Goto Top
Dim wrdApp As Object, wrdDoc As Object
Dim filepath As String

Set wrdApp = CreateObject("word.application")  

wrdApp.Visible = True  

filepath = "C:\worddatei.docx"  
Set wrdDoc = wrdApp.Documents.Add(filepath)

Damit kann man per VBA Code eine Word-Datei öffnen. Erstelle ein Macro und füge den Code ein.
filepath muss noch angepasst werden.

Wie sehen die Ergebnisse aus?

Weiterführend kann man, falls nötig, die Serienbrief-Datenquelle kundenspezifisch ändern, sodass beim direkten Aufruf der Word-Datei kein "Filter" nötig ist.
evolution
evolution 17.03.2015 aktualisiert um 13:50:43 Uhr
Goto Top
Ich wähle den Kunden und die Datei. Dann müssen die Kundendaten an die Datei übermittelt werden und gedruckt werden. Es ist keine fixe Zuordnung des Kunden in der Datei. Das ist der variable Teil.
Am liebsten wäre es mit, wenn man das Verzeichnis auslesen könnte und dann wählen..
eisbein
eisbein 17.03.2015 um 13:53:52 Uhr
Goto Top
Kommst du damit etwas in Zielnähe?