none
Word16 does not recognize List-character "|" in sequential-mergefield-Datasets RRS feed

  • Frage

  • Ich erstelle meine Gutachten in großen WORD Dokumenten mit 60 bis 100 Seiten. Die Kalkulationen erfolgen in Excel-Mappen mit einer von Fall zu FAll variierenden Anzahl Tabellen, in denen das Zahlengerüst meienr Gutachten entwickelt wird. Mit einem in VB erstellten Programm werden in sämtliche Tabellen die für das Gutachten benötigten Celleninhalte ausgelesen und in eine sequentielle Text-Datei geschrieben. Der erste Absatz schreibt die Serienbrief-Namen - getrennt durch das Zeichen "|", weil dieses Zeichen in keiner Zelle vorkommt, der zweite Absatz enthält zu diesen Überschriften die Zellinhalte, ebenfalls getrennt durch das Zeichen "|".

    Die serelle Datei liegt als *.txt im Arbeitsverzeichnis des Auftrags und wurde von WORD bis Version 2010 bei Aufruf automatisch erkannt. Seit der Umstellung auf OFFICE16 ist das nicht mehr der Fall. Die teilautomatisch erzeugte Word-Datei, enthält in den einzelnen Absätzen und Tabellen Serienbrieffelder, die dann bei Aufruf automatiusch aus der Steuerdatei mit dem Zahlengerüst gefüllt weden sollen. Neu ist, dass Word das Trennzeichen "|" nicht mehr erkennt. Statt dessen wird das "!" als Trennzeichen vorgeschlagen, man muss dann im Combifeld bis zum Ende runterscrollen und das gewünschte Trennzeichen auswählen.

    Ich hatte in der MS Community bereits gefragt, ob es in Word eine Einstellung gibt, in der man das Listenzeichen zentral festlegen kann. Dort wurde der Vorschlag gemacht, in Windows - Einstellungen - Regionen- das Listenzeichen von ";" auf "|" zu ändern. Dieser Vorschlag ist zwar möglich, löst aber das Problem nicht und schafft neue Probleme. Denn nun passiert folgendes: In Excel habe ich mit VBA meine Tabellen mit dynamischen Fähigkeiten ausgestattet. U.a. benutze ich eine Funktion RUNDEN(A;2) oder Runden(A;-3). A steht für ein numerisches Zwischenergebnis, welches ich z. B. auf 2 Stellen nach dem Komma runden möchte, oder bei Nutzung der Funktion mit dem Parameter ;-3 auf volle 1.000 €.

    So etwas kann man auch mit VBA in einem Modul speichern. Dabei muss man die englische Schreibweise =round(A,2) verwenden. Wenn solch ein Makro abläuft, wird die Formel so geschrieben: =RUNDEN(A|2). D.h. die Änderung des Listenzeichens in Windows wirkt sich auch auf andere Programme aus und führt zum Absturz.

    Deshalb nochmal die Frage: Kann man WORD16 so einstellen, dass in der Sereienbrief-Funktion das Listen-Trennzeichen auf Dauer festgelegt wird?  Sofern jemand meine Screenshots dazu sehen möchte, bitte eine email_Adresse nennen.

    Freitag, 6. Januar 2017 10:46

Alle Antworten