www.thailaendisch.de

VBA-Word Seriendruck mit Thaischrift - finde keine Lösung

Diskutiere VBA-Word Seriendruck mit Thaischrift - finde keine Lösung im Computer-Board Forum im Bereich Diverses; Nutze seit Jahren so eine selbst zusammen gefriemelte Adressenverwaltung. Greife dabei mit MS-Word 2016 auf Access 2016 zu. Klar funktioniert...
Micha

Micha

Senior Member
Themenstarter
Dabei seit
28.01.2003
Beiträge
22.487
Reaktion erhalten
3.177
Nutze seit Jahren so eine selbst zusammen gefriemelte Adressenverwaltung. Greife dabei mit MS-Word 2016 auf Access 2016 zu.
Klar funktioniert damit auch Seriendruck.
Was ich aber nicht hinbekomme, ist die Darstellung der Thailändischen Schrift im Seriendruckdokument.

Das funktioniert nur, wenn ich das Passwort aus der Access-DB entferne. Dann funktionert der Seriendruck auch mit Thaitexten einwandfrei:
Verwende für den Zugriff folgende Syntax:

ActiveDocument.MailMerge.OpenDataSource Name:= _
Pfad, ConfirmConversions:=False _
, ReadOnly:=True, LinkToSource:=False, AddToRecentFiles:=False, _
Revert:=False, Format:=wdOpenFormatAuto, _
Connection:= _
"Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & Pfad & ";Mode=Read;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=0;Jet" _
, SQLStatement:="SELECT * FROM " & Tabelle & "", SQLStatement1:="WHERE (" & Tabelle & "." & Feld & "=True);", SubType:=wdMergeSubTypeAccess

Diese Syntax funktioniert leider nicht mit einem Passwortschutz der Access DB.

Das klappt dann mit folgender Syntax:
ActiveDocument.MailMerge.OpenDataSource Name:= _
Pfad, ConfirmConversions:=False, ReadOnly:= _
True, LinkToSource:=False, Connection:= _
"DSN=MS Access Database;DBQ=" & Pfad & "; Format:=wdOpenFormatAuto; DriverId=25;FIL=MS Access;MaxBufferSize=512;PageTimeout=5; PWD=MeinPasswort;UID=admin;" _
, SQLStatement:="SELECT * FROM " & Tabelle & " WHERE (" & Tabelle & "." & Feld & "=True);", SubType:=wdMergeSubTypeWord2000

Der Zugriff erfolgt ebenfalls sehr schnell, nur leider werden dabei Thaibuchstaben nur noch als Fragezeichen "?" dargesellt.

Bin ratlos. Hatte mir gestern schon die halbe Nacht damit um die Ohren geschlagen und finde keine Lösung.
 
phbphb

phbphb

Senior Member
Dabei seit
16.11.2018
Beiträge
3.109
Reaktion erhalten
1.136
Ort
Berlin
Was mir auffällt (neben dem grundsätzlichen Verdacht, dass die Behandlung der Passwortabfrage das Format der aus der DB einzulesenden Daten zerschießt - leider ohne, dass ich ad hoc wüsste, wie man das fixt; es ist Äonen her, dass ich mal bisschen was mit VBA gemacht hab, ich mich u.a. nicht länger und tiefer damit beschäftigt, weil VBA-Code elendig pflegebedürftig ist) in der letzten gezeigten Codezeile hast du einmal

Code:
SubType:=wdMergeSubTypeAccess
und einmal

SubType:=wdMergeSubTypeWord2000
Was hat es damit auf sich?

Und nochmal was ganz anderes: Den "Zusammenklicker"-Weg (am Besten startend mit einer jungfräulichen Word-Datei) hast du vermutlich schon ausprobiert

Verwenden des Seriendrucks zum Senden von Access-Daten an Word.

Verwenden einer Tabelle oder Abfrage als Datenquelle für den Seriendruck

?
 
Zuletzt bearbeitet:
Micha

Micha

Senior Member
Themenstarter
Dabei seit
28.01.2003
Beiträge
22.487
Reaktion erhalten
3.177
Was mir auffällt (neben dem grundsätzlichen Verdacht, dass die Behandlung der Passwortabfrage das Format der aus der DB einzulesenden Daten zerschießt - leider ohne, dass ich ad hoc wüsste, wie man das fixt; es ist Äonen her, dass ich mal bisschen was mit VBA gemacht hab, ich mich u.a. nicht länger und tiefer damit beschäftigt, weil VBA-Code elendig pflegebedürftig ist) in der letzten gezeigten Codezeile hast du einmal

Code:
SubType:=wdMergeSubTypeAccess
und einmal

Was hat es damit auf sich?
Weiß ich im Detail auch nicht. Warum z. B. wdMergeSubTypeWord2000 funktioniert und wdMergeSubTypeWord nicht, keine Ahnung was dahinter steckt. Weiß nur dass die beiden getesteten Syntax-Varianten jeweils nur mit dem einen Wert funktionieren.

Und nochmal was ganz anderes: Den "Zusammenklicker"-Weg (am Besten startend mit einer jungfräulichen Word-Datei) hast du vermutlich schon ausprobiert
Mehr als einmal

Diese Schwierigkeiten mit der Passwortübergabe hat es auch nur mit diesem MailMerge Objekt. Andere Zugriffsarten wie z. B. DAO funktionieren einwandfrei und verunstalten auch die Thaizeichen nicht. Vermutlich "denkt" da Microsoft im Hintergrund mit und wandelt beim entschlüsseln die Zeichen entsprechend irgend einer "locale"-Einstellung irgend wo in der Registry entsprechend um.
 
phbphb

phbphb

Senior Member
Dabei seit
16.11.2018
Beiträge
3.109
Reaktion erhalten
1.136
Ort
Berlin
Aber du möchtest den Passwortschutz der DB behalten? (Sonst wäre es ja das Einfachste den abzustellen.)

Ja, wenn MS mitdenkt, dann kann einiges schief gehen 🙈

Aber vielleicht gibt's hier ja einen VBA-Schwarzmagier, der das auf einen Blick sieht 🙂
 
Micha

Micha

Senior Member
Themenstarter
Dabei seit
28.01.2003
Beiträge
22.487
Reaktion erhalten
3.177
Aber du möchtest den Passwortschutz der DB behalten? (Sonst wäre es ja das Einfachste den abzustellen.)
Gewiss, im Zweifelsfall verzichte ich halt auf die Möglichkeit Thaibuchstaben im Seriendruck darzustellen. Dürfte sowieso für mich so gut wie niemals erforderlich sein. Nervt mich halt, dass ich nicht in der Lage bin den Grund herauszufinden ...
 
phbphb

phbphb

Senior Member
Dabei seit
16.11.2018
Beiträge
3.109
Reaktion erhalten
1.136
Ort
Berlin
Aber sag mal, die zweite Version gibt dir nur die Thai-Schrift zerschreddert als ? aus? Wenn du mal scherzeshalber eine komplette Adresse bzw., fast noch interessanter, einzelne Komponenten darin in lateinischer Schrift eingibst in die DB, dann wird die Adresse bzw. die entsprechenden lateinischen Komponenten korrekt wiedergegeben im Seriendruck?

Ansonsten vielleicht mal
Code:
MaxBufferSize=1024
oder
Code:
MaxBufferSize=2048
statt
Code:
MaxBufferSize=512
setzen?
 
Micha

Micha

Senior Member
Themenstarter
Dabei seit
28.01.2003
Beiträge
22.487
Reaktion erhalten
3.177
Danke für den Tipp. Habe gleich mal alle drei Varianten getestet. Das Ergebnis ist immer gleich. Thaibuchstaben werden nur als Fragezeichen dargestellt. Ganz gleich ob der Text ausschließlich aus Thaibuchstaben besteht oder auch lateinische Buchstaben enthält. Die lateinischen Buchstaben werden dabei stets einwandfrei ausgewiesen.

Bangkok Suvarnabhumi Suvarnabhumi Suite
?????????? ????
1675/1 ????????????
11/13 ????????????
?????????????????/?????
??????? 10520

Die Anwendung selbst (VBA-Word mit Zugriff auf Access mittels DAO 3.6) gibt die Zeichenfolgen einwandfrei aus.

Bangkok Suvarnabhumi Suvarnabhumi Suite
สุวรรณภูมิ สวีท
1675/1 ซอยลาดกระบัง
11/13 ถนนลาดกระบัง
สนามบินสุวรรณภูมิ/บางนา
กรุงเทพ 10520

Brief.jpg
 
phbphb

phbphb

Senior Member
Dabei seit
16.11.2018
Beiträge
3.109
Reaktion erhalten
1.136
Ort
Berlin
OK, dann geht wirklich spezifisch mit der Codierung der Thai-Schrift was schief. Hm.

Hab mal gesucht nach dem Phänomen, hier allerdings unmittelbar im VBA-Editor (mit Office 365), sieht aber genauso aus:
https://answers.microsoft.com/en-us...age-even/e857ecc8-3766-4319-89fb-5c96c7ed2d6c
Ob die vorgeschlagenen Lösung (Quick Repair bzw. Online Repair von Office 365 - hast du das auch?) geholfen hat, wird nicht ersichtlich.

Wäre es "nur" das falsche Font im Ausgabemedium Word, dann würde das im Seriendruck eher diese Rechtecke anzeigen. Ich befürchte das sitzt tiefer.
 
Huanah

Huanah

Senior Member
Dabei seit
03.11.2004
Beiträge
860
Reaktion erhalten
149
Ort
Stuttgart / Korat
Bin jetzt nicht der Datenbankprofi, habe aber im Hinterkopf, dass derartige Phänomene gerne an den codepage settings in der DB liegen. Wie man da aber in Access drankommt - keine Ahnung.
Ich hatte mal das selbe Verhalten, als ich Word-Dateien auf einen neuen Rechner kopiert habe, bevor der Thai Schriftsatz installiert war. Die Namen der Rezeptdateien meiner Frau sahen dann auch so aus. Daran kann es aber bei dir aber nicht liegen.
 
Thema:

VBA-Word Seriendruck mit Thaischrift - finde keine Lösung

VBA-Word Seriendruck mit Thaischrift - finde keine Lösung - Ähnliche Themen

  • Schon mal jemand während Quarantäne positiv getestet worden?

    Schon mal jemand während Quarantäne positiv getestet worden?: Liebe Forums-Mitglieder, dies ist mein erster Beitrag in diesem tollen Forum und ich hoffe, dass ich ein paar Antworten von Mitgliedern erhalten...
  • Nun bestätigt worden, Panzerzug aus dem 2.WK ist real, event. Goldschatz an Bord?!

    Nun bestätigt worden, Panzerzug aus dem 2.WK ist real, event. Goldschatz an Bord?!: Nun bestätigte der polnische Innenminister die Angaben eines Deutschen und polnischen Schatzsucher welche in einem alten verborgenen...
  • Landbesitzurkunde für bis dato ( illegale?) Landbesitzer überreicht worden !

    Landbesitzurkunde für bis dato ( illegale?) Landbesitzer überreicht worden !: Ich wußte nicht, daß, in Thailand dies möglich ist und auch verwirklicht wird, aus königlicher Hand, bzw. Kronprinzessin Hand überreicht, an seit...
  • Windows / Excel / VBA

    Windows / Excel / VBA: Ich gebe es zu, ich bin faul. Folgendes Problem, wo mir vielleicht jemand weiterhelfen kann: ich bekomme jede Woche 12 Excel-Sheets. Die Anzahl...
  • Textdatei im Unicode UTF-8 Format erstellen (mit VBA oder VB

    Textdatei im Unicode UTF-8 Format erstellen (mit VBA oder VB: Möchte eine (leere) Textdatei im Unicode UTF-8 Format speichern. Mit der nachfolgenden Syntax entsteht eine Unicode-Datei: Set objFSO =...
  • Textdatei im Unicode UTF-8 Format erstellen (mit VBA oder VB - Ähnliche Themen

  • Schon mal jemand während Quarantäne positiv getestet worden?

    Schon mal jemand während Quarantäne positiv getestet worden?: Liebe Forums-Mitglieder, dies ist mein erster Beitrag in diesem tollen Forum und ich hoffe, dass ich ein paar Antworten von Mitgliedern erhalten...
  • Nun bestätigt worden, Panzerzug aus dem 2.WK ist real, event. Goldschatz an Bord?!

    Nun bestätigt worden, Panzerzug aus dem 2.WK ist real, event. Goldschatz an Bord?!: Nun bestätigte der polnische Innenminister die Angaben eines Deutschen und polnischen Schatzsucher welche in einem alten verborgenen...
  • Landbesitzurkunde für bis dato ( illegale?) Landbesitzer überreicht worden !

    Landbesitzurkunde für bis dato ( illegale?) Landbesitzer überreicht worden !: Ich wußte nicht, daß, in Thailand dies möglich ist und auch verwirklicht wird, aus königlicher Hand, bzw. Kronprinzessin Hand überreicht, an seit...
  • Windows / Excel / VBA

    Windows / Excel / VBA: Ich gebe es zu, ich bin faul. Folgendes Problem, wo mir vielleicht jemand weiterhelfen kann: ich bekomme jede Woche 12 Excel-Sheets. Die Anzahl...
  • Textdatei im Unicode UTF-8 Format erstellen (mit VBA oder VB

    Textdatei im Unicode UTF-8 Format erstellen (mit VBA oder VB: Möchte eine (leere) Textdatei im Unicode UTF-8 Format speichern. Mit der nachfolgenden Syntax entsteht eine Unicode-Datei: Set objFSO =...
  • Oben