Excel Tabelle als Datenquelle für Serienbrief

08/12/2007 - 03:30 von Peter Wenzel | Report spam
Hallo NG!

Da ich nicht weiß ob ich hier richtig bin, möchte ich mich für mein Crossposting entschuldigen!

Zum Problem:

Ich habe eine Exceltabelle die als Datenquelle für einen Serienbrief dient.
Diese Tabelle wird über ein VBA-Makro erstellt und dieses Makro soll als letztes Word mit dem
entsprechenden Dokument öffnen.
Den Word Aufruf habe ich so formuliert:
CreateObject("Word.application").Documents.Open("c:\test.doc").Application.Visible = True

Alles klappt soweit ganz gut bis auf dass einige Datenfelder nicht richtig angezeigt werden.
Z.B. Datum statt TT.MM.JJJ als MM.TT.JJJJ obwohl im Serienbrief ein Formatschalter gesetzt ist.
Außerdem werden zwei numerische Felder nicht richtig angezeigt, d.h. sie zeigen falsche Werte.

Dann ist mir noch aufgefallen, dass in der Serienbrief-Symbolleiste die alle Felder inaktiv sind.

Ich denke die meisten Auffàlligkeiten zeigen Richtung Word, der Grund weshalb ich trotzdem auch im
Excelforum poste ist, vielleicht stimmt schon der Aufruf von Word im Excel-Makro nicht.

Ich bin euch, wie immer, für jede Hilfe dankbar.


Gruß
Peter

Info:
Office 2003 Prof. SP 3
Win XP Prof. SP 2

Antworten bitte nur in diese NG!
Die Mailadresse existiert, die Nachrichten werden jedoch automatisch gelöscht.
 

Lesen sie die antworten

#1 Thomas Ramel
08/12/2007 - 08:19 | Warnen spam
Grüezi Peter

Peter Wenzel schrieb am 08.12.2007

Ich habe eine Exceltabelle die als Datenquelle für einen Serienbrief dient.



Mit welcher Office-Version arbeitest Du?

Diese Tabelle wird über ein VBA-Makro erstellt und dieses Makro soll als letztes Word mit dem
entsprechenden Dokument öffnen.
Den Word Aufruf habe ich so formuliert:
CreateObject("Word.application").Documents.Open("c:\test.doc").Application.Visible = True

Alles klappt soweit ganz gut bis auf dass einige Datenfelder nicht richtig angezeigt werden.
Z.B. Datum statt TT.MM.JJJ als MM.TT.JJJJ obwohl im Serienbrief ein Formatschalter gesetzt ist.
Außerdem werden zwei numerische Felder nicht richtig angezeigt, d.h. sie zeigen falsche Werte.



Ab Office 2002 wurde die Standard-Verbindung zwischen Word und Excel auf
ODBC geàndert, was die genannten Effekte zur Folge hat - leider.

Hier ein Auszug aus der (leider momentan nicht verfügbaren) WordFAQ:

"Importweise der Datenquelle beim Seriendruck beeinflussen"

Wie bereits erwàhnt, wàhlt der Seriendruck-Assistent - solange Sie nicht
eingreifen - eine Standardmethode beim Anhàngen der Datenquelle, um die
Daten nach MS Word zu übertragen. Bei den Word-Versionen Word 97 und
Word2000 ist das meistens DDE, ab Word 2002 (XP) dagegen OLEDB.

Im Folgenden wird beschrieben, wie Sie selbst darüber bestimmen können,
welche Importweise für das Anziehen der Daten bei Ihrem Seriendruck, zur
Anwendung kommen soll.

Bevor Sie den Seriendruck-Assistenten aufrufen, müssen Sie die Option
Extras - Optionen… - Allgemein - Konvertierung beim Öffnen bestàtigen
aktivieren. Wenn diese Option eingeschaltet ist, werden Sie im Verlaufe des
Vorganges die Möglichkeit haben, die Importweise zu bestimmen.

Sollte bereits ein Seriendruckhauptdokument vorliegen, dann lassen Sie sich
nach der Aktivierung der genannten Option, die Symbolleiste mir dem Namen
Seriendruck anzeigen. Klicken Sie anschliessend in dieser Symbolleiste auf
die Schaltflàche Datenquelle öffnen und öffnen Sie in der Folge die
Datenquelle nochmals.

1.
Öffnen Sie das Seriendruckhauptdokument oder erstellen Sie ein solches.

2.
Wàhlen Sie vom Hauptmenü Extras - Seriendruck….

3.
Klicken Sie im nun erschienen Seriendruck-Manager auf Datenquelle
importieren - Datenquelle öffnen….

4.
Aktivieren Sie das Kontrollkàstchen mit der Bezeichnung Importweise
Auswàhlen Word 97 bzw. Import wàhlen Word2000.

5.
Sie können nun die gewünschte Datenquelle öffnen. Allenfalls müssen Sie den
Eintrag im Auswahlfeld Dateityp: noch àndern, damit auch Excel- und
Access-Dateien angezeigt werden.

6.
Dank der Option Import wàhlen, wird in der Folge ein zusàtzlicher Dialog
angezeigt, in welchem Sie typischerweise bei einer Excel-Datenquelle
zwischen Microsoft Excel-Arbeitsblatt über Konverter, MS Excel-Arbeitsblatt
über DDE und Excel-Dateien über ODBC bzw., bei einer Access-Datenquelle
zwischen Access-Datenbanken über DDE und Microsoft Access-Datenbanken über
ODBC wàhlen können.

Wàhle hier dann die DDE-Verbindungsart, dann klappt es mit der Datstellung
der Werte und des Datums.

Dann ist mir noch aufgefallen, dass in der Serienbrief-Symbolleiste die alle Felder inaktiv sind.



Vielleicht könntest Du die Erzeugung des Word-Objektes und das öffnen der
Datei in zwei Schritten vornehmen. Dann hast Du ein eigenes Objekt für das
Word-Dokument und kannst dieses komfortabler steuern.


Mit freundlichen Grüssen
Thomas Ramel

- MVP für Microsoft-Excel -
[Win XP Pro SP-2 / xl2003 SP-2]
Microsoft Excel - Die ExpertenTipps

Ähnliche fragen