720760

Einzelne Datensätze aus Formular in Word einfügen

01.05.1998 | 00:00 Uhr |

Anforderung

Zeitaufwand

Ich verwende Access als Adreßdatenbank. Access zeigt die gesuchte Adresse in einem Formular an. Wie kann ich den angezeigten Datensatz aus dem Formular in ein Word-Dokument einfügen, ohne die komplizierte Serienbrief-Funktion von Word zu verwenden? Heinz B., Stahnsdorf

Die Programme aus dem Microsoft-Office-Paket können über die "Automatisierung" (OLE-Automatisierung; OLE - Object Linking and Embedding) miteinander kommunizieren. Dadurch haben Sie die Möglichkeit, mit Objekten aus der einen Anwendung in einer anderen Anwendung zu arbeiten. Um einen Datensatz, der in einem Access-Formular angezeigt wird, in ein Word-Dokument einzufügen, können Sie das abgebildete Makro verwenden. Es demonstriert die Funktion an der Access-Beispieldatenbank "Nordwind". 1. Starten Sie Access 97, und öffnen Sie die Datenbank "Nordwind" und das Formular "Kunden" in der Entwurfsansicht. 2. Fügen Sie über die Toolbox eine Befehlsschaltfläche in das Formular ein. Klicken Sie mit der rechten Maus-taste auf die neue Schaltfläche, und wählen Sie aus dem Kontextmenü "Eigenschaften". Geben Sie hinter "Beschriftung" und "Name" jeweils "Word Export" ein. 3. Klicken Sie mit der rechten Maus-taste auf die neue Schaltfläche, und wählen Sie aus dem Kontextmenü "Ereignis" und dann "Code-Editor". Geben Sie den rechts abgebildeten Programmcode ein. 4. Bevor Sie nun den Code-Editor schließen, müssen Sie noch auf "Extras, Verweise" klicken und in der Liste der verfügbaren Referenzen das Kästchen vor "Microsoft Word 8.0 Object Library" aktivieren. Klicken Sie zum Abschluß noch auf "Ansicht, Formularansicht". Bevor Sie auf die Schaltfläche "Word Export" im Formular "Kunden" klicken, müssen Sie allerdings Word öffnen. Dieses Makro überprüft nämlich nicht, ob Word 97 schon gestartet ist.

Der Programmcode:

Private Sub Word_Export_Click()

Dim Adresse As String

Dim LF As String * 2

Dim WordObj As Word.Application

Set WordObj = GetObject(, "Word.Application")

LF = Chr$(13) & Chr$(10)

If Not IsNull(Me!Firma) Then

Adresse = Me!Firma & LF & Me!Kontaktperson & LF & Me!Strasse

Adresse = Adresse & LF & Me!PLZ & " " & Me!Ort & LF & Me!Telefon

EndIf

WordObj.Selection.TypeText Text:=Adresse & LF

Set WordObj = Nothing

End Sub

0 Kommentare zu diesem Artikel
720760