Discussion:
Serienbrief aus CSV-Datei, Zeichensatzproblem
(zu alt für eine Antwort)
Steffen Buhr
2010-09-09 16:27:23 UTC
Permalink
Hallo,

hier werden beim Datenimport mittels Mailmerge aus einer CSV-Datei die
Umlaute verschluckt, interessanterweise aber nur dann, wenn die
CSV-Datei mehr als einen Datensatz enthält. Nun habe ich, wie hier
schonmal empfohlen wurde, den Registry-Schlüssel geändert (Word 2003):

HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options
Dwort-Wert: DefaultCPG / Wert (Dezimal): 1252

Damit funktioniert es (wieder) anstandslos, allerdings kann ich das so
nicht auf Dauer lassen, denn für eine andere Serienbriefanwendung muß
dort seit einiger Zeit der Wert 65001 stehen, sonst gibt es dabei
Zeichensalat. Deshalb habe ich mal bei .OpenDataSource, Format mit den
Parametern msoEncodingWestern (= 1252!), msoEncodingUTF8 (= 65001!) und
msoEncodingISO88591Latin1 (= 28591) experimentiert, was alles nichts
brachte, die Umlaute blieben verschluckt.

Als Alternative habe ich dann vor dem MailMerge ein
Application.Options.DefaultTextEncoding = 1252 eingebaut, was
ebensowenig brachte wie ein .DataSource.Application.Options
.DefaultTextEncoding = 1252 in der Zeile nach dem .OpenDataSource.

Wenn ich mit aktiviertem „Konvertieren beim Öffnen bestätigen“ die Liste
neu auswähle, kommt zwar eine Box „Datenquelle bestätigen“, in der ohne
„Alle anzeigen“ nur der Eintrag „OLE DB Datenbankdateien“ vorhanden ist,
aber anschließend wird zwar nach dem Trenner (Tabs) aber nicht nach dem
Zeichensatz gefragt, anders als hier in der NG zu lesen war.

Im Moment lasse jedesmal den Registry-Schlüssel ändern und wiederher-
stellen, aber das scheint mir etwas unsicher, denn es könnte infolge
eines Fehlers mal ein Makro stehenbleiben.

Weitere Ideen?

X & → mpdwv

Gruß
Steffen
Hartwig Constien
2010-09-09 17:11:16 UTC
Permalink
Post by Steffen Buhr
hier werden beim Datenimport mittels Mailmerge aus einer CSV-Datei die
Umlaute verschluckt, interessanterweise aber nur dann, wenn die
CSV-Datei mehr als einen Datensatz enthält. Nun habe ich, wie hier
Weitere Ideen?
Hallo Steffen,

ich hab das ganz pragmatisch gelöst, in dem ich vorab jeder CSV-Datei ein
zusätzliches erstes Datenfeld mit dem Inhalt "Deutsche Umlaute ÄÖÜäöüß"
verpasse. Dann erkennt Word bei der Interpretation der ersten Datensätze
zuverlässig die Umlaute und arbeitet mit der richtigen Zeichensatztabelle.

Hang loose, Hartwig
Steffen Buhr
2010-09-10 06:11:47 UTC
Permalink
Hallo,
Post by Hartwig Constien
ich hab das ganz pragmatisch gelöst, in dem ich vorab jeder CSV-Datei ein
zusätzliches erstes Datenfeld mit dem Inhalt "Deutsche Umlaute ÄÖÜäöüß"
verpasse. Dann erkennt Word bei der Interpretation der ersten Datensätze
zuverlässig die Umlaute und arbeitet mit der richtigen Zeichensatztabelle.
Die Idee hatte ich auch, der Spaltenüberschrift habe ich auch gleich so
einen Bezeichner verpaßt. Es ging erst auch, aber zu früh gefreut. War
also wohl Zufall.

Gruß
Steffen
Wilfried
2010-09-10 08:07:28 UTC
Permalink
Post by Steffen Buhr
hier werden beim Datenimport mittels Mailmerge aus einer CSV-Datei die
Umlaute verschluckt, interessanterweise aber nur dann, wenn die
CSV-Datei mehr als einen Datensatz enthält. Nun habe ich, wie hier
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Options
Dwort-Wert: DefaultCPG / Wert (Dezimal): 1252
Damit funktioniert es (wieder) anstandslos, allerdings kann ich das so
nicht auf Dauer lassen, denn für eine andere Serienbriefanwendung muß
dort seit einiger Zeit der Wert 65001 stehen, sonst gibt es dabei
Zeichensalat. Deshalb habe ich mal bei .OpenDataSource, Format mit den
Parametern msoEncodingWestern (= 1252!), msoEncodingUTF8 (= 65001!) und
msoEncodingISO88591Latin1 (= 28591) experimentiert, was alles nichts
brachte, die Umlaute blieben verschluckt.
Als Alternative habe ich dann vor dem MailMerge ein
Application.Options.DefaultTextEncoding = 1252 eingebaut, was
ebensowenig brachte wie ein .DataSource.Application.Options
.DefaultTextEncoding = 1252 in der Zeile nach dem .OpenDataSource.
Wenn ich mit aktiviertem "Konvertieren beim Öffnen bestätigen" die Liste
neu auswähle, kommt zwar eine Box "Datenquelle bestätigen", in der ohne
"Alle anzeigen" nur der Eintrag "OLE DB Datenbankdateien" vorhanden ist,
aber anschließend wird zwar nach dem Trenner (Tabs) aber nicht nach dem
Zeichensatz gefragt, anders als hier in der NG zu lesen war.
Im Moment lasse jedesmal den Registry-Schlüssel ändern und wiederher-
stellen, aber das scheint mir etwas unsicher, denn es könnte infolge
eines Fehlers mal ein Makro stehenbleiben.
Weitere Ideen?
csv-Tabelle in Excel öffnen, Tabelle markieren und kopieren, ein neues
Word-Dokument erstellen, "Bearbeiten-Inhalte einfügen-Formatierten Text
(RTF)", das Word-Dokument speichern und als Seriendruck-Datenquelle
verwenden.


--
Wilfried Hennings
bitte in der Newsgruppe antworten, die Mailadresse ist ungültig
Steffen Buhr
2010-09-12 16:45:39 UTC
Permalink
Post by Wilfried
csv-Tabelle in Excel öffnen, Tabelle markieren und kopieren, ein neues
Word-Dokument erstellen, "Bearbeiten-Inhalte einfügen-Formatierten Text
(RTF)", das Word-Dokument speichern und als Seriendruck-Datenquelle
verwenden.
Läßt sich schlecht automatisieren, die CSV werden aus einer Acc2.0-
Datenbank jedesmal neu erzeugt und dann Word gestartet. Da könnte man
ggf. den CSV-Zwischenschritt einsparen und gleich eine XLS erzeugen lassen.

Gruß
Steffen

Loading...