Domino 9 und frühere Versionen > ND8: Entwicklung
CSV-Datei für Word-Seriendruck
jr:
Hallo zusammen,
das ist wohl eigentlich kein echtes Notes-Problem, aber ich denke es passt hier ganz gut rein. Ich erzeuge aus Notes-Daten eine CSV-Datei, mit der ich dann in Word Seriendruckdokumente erzeuge. Das funktioniert seit Jahren einwandfrei, aber in der letzten Zeit kommen immer wieder CSV-Dateien zustande, die Word partout nicht importieren will.
Den Grund hab ich mittlerweile gefunden, es sind die Anführungszeichen. Die Benutzer kopieren Texte aus einem Word-Dokument in ein Notes-Feld und irgend wann wird dieser Text wieder in der CSV-Datei benutzt.
Beispieltext: Der Text ist "manchmal" in Hochkommata geschrieben.
In der CSV-Datei muss dass dann so aussehen:
...; "Der Text ist ""manchmal"" in Hochkommata geschrieben"; ...
Damit funktioniert der Seriendruck in Word. Aber von " gibt es gefühlte 2 Millionen verschiedene Varianten. Immer wieder tauchen neue auf. (Neues Word - neue Hochkommata??? Keine Ahnung). Bisher hab ich folgende ausgemacht:
Chr(34) Das Standard Hochkomma (Shift 2), hatte ich von Anfang an ersetzt
Chr(147) Kommt wohl aus einem Word-Dokument (Anführungszeichen unten)
Chr(148) Dito, aber oben
Chr(132) keine Anhnung wo das herkommt, ist heute neu aufgetaucht
Ich ersetze alle mit csvText = ReplaceSubstring(csvText, c, c+c) und dann klappt es auch. Aber ich möchte nicht immer wieder Anrufe von meinen Kunden bekommen, dass ein Export nicht funktioniert hat.
Weiß jemand, welche Zeichen beim CSV-Export noch Probleme bereiten und welche ich noch beachten muss?
Auch wäre ich dankbar, wenn Ihr mich noch auf andere Fallstricke beim CSV-Export aufmerksam machen könntet.
Viele Grüße,
Joachim
Axel:
Welche Zeichen beim csv-Export noch Probleme bereiten und welche Fallstricke noch lauern kann ich dir aus dem Hut im moment nicht sagen. Aber ich bin vor einiger Zeit dazu übergegangen Steuerdateien für Serienbriefe in Word als Word-Dokument zu generieren. Ich erstelle ein leeres Dokument und füge dort eine Tabelle ein. In dieser Tabelle sind in der ersten Zeile die Bezeichnungen (sie dienen auch als Seriendruckfelder) enthalten und in den folgenden Zeilen sind dann die Daten enthalten.
Vielleicht ist das eine Alternative für dich.
Axel
jr:
Hallo Axel,
danke für die Antwort. Wenn Du das als Tabelle machst, dann müssen die Texte nicht mehr in Hochkomma eingeschlossen werden, oder? Das heißt, das oben beschriebene Problem würde gar nicht erst auftauchen.
Hmmm, klingt interessant. Die Word-Tabelle wird per Notes generiert und dann direkt mit der Serienbriefvorlage gemischt. Habe ich so noch nicht gemacht, sollte aber relativ einfach sein.
Alternativ könnte ich das ja auch mit Excel direkt machen. Wer Word hat, der hat in der Regel auch Excel. Da würde das Problem ebenfalls wegfallen, aber es dauert halt länger, weil zuerst Excel gestartet werden muss, auch wenn das ganze im Hintergrund passiert. Bei Deiner Lösung muss Word ja sowieso gestartet werden, würde also die Performance nicht beeinträchtigen.
Die Applikation wird derzeit mit etwa hundert Word-Vorlagen benutzt. Und da ich den Benutzern nicht zumuten kann, jedesmal die benutzten Seriendruckfelder in einer Liste zu hinterlegen, gebe ich einfach alle möglichen Seriendruckfelder aus. Dadurch komme ich aber mittlerweile auf fast 300 Spalten. Performancemäßig ist das kein Problem, aber schafft das Word noch? Eine Tabelle mit 300 Spalten?
Ich glaube, ich muss das mal probieren. Aber diese Woche schaffe ich das nicht mehr.
Gruß,
Joachim
Axel:
--- Zitat von: jr am 04.09.08 - 20:21:26 ---Wenn Du das als Tabelle machst, dann müssen die Texte nicht mehr in Hochkomma eingeschlossen werden, oder? Das heißt, das oben beschriebene Problem würde gar nicht erst auftauchen.
--- Ende Zitat ---
Richtig
--- Zitat von: jr am 04.09.08 - 20:21:26 ---Hmmm, klingt interessant. Die Word-Tabelle wird per Notes generiert und dann direkt mit der Serienbriefvorlage gemischt. Habe ich so noch nicht gemacht, sollte aber relativ einfach sein.
--- Ende Zitat ---
Ist es auch.
--- Zitat von: jr am 04.09.08 - 20:21:26 ---Die Applikation wird derzeit mit etwa hundert Word-Vorlagen benutzt. Und da ich den Benutzern nicht zumuten kann, jedesmal die benutzten Seriendruckfelder in einer Liste zu hinterlegen, gebe ich einfach alle möglichen Seriendruckfelder aus. Dadurch komme ich aber mittlerweile auf fast 300 Spalten. Performancemäßig ist das kein Problem, aber schafft das Word noch? Eine Tabelle mit 300 Spalten?
--- Ende Zitat ---
Das wird wahrscheinlich ein Problem werden. Bei Word 2003 ist bei 63 Spalten Schluss.
Axel
jr:
Hallo,
schade, bei 63 Spalten kommt das dann leider nicht in Frage. Der Kunde hat noch 2003 im Einsatz. Ich versuchs hier mal mit Office 2007, ob sich da die Spaltenzahl verändert hat. Ich sag bescheid, wenn ich es ausprobiert habe.
Gruß,
Joachim
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln