Das Notes Forum

Lotus Notes / Domino 10 => ND10: Entwicklung => Thema gestartet von: tfrenz am 10.08.20 - 13:01:49

Titel: Datenübergabe -> Word
Beitrag von: tfrenz am 10.08.20 - 13:01:49
Hallo, ich habe eine Möglichkeit programiert, das Daten aus Notes an Word übergeben werden.
In Word habe ich dafür Textfelder genutzt.
Das hat immer fehlerfrei funktioniert.
Nun habe ich die Anforderung, das ein Textfeld mehrfach in einem Dokument vorkommen soll.
Das funktioniert aber nicht.
Im Augenblick betrift das nur eine Dokumentenvorlage, die ich dann halt mit dem Feldnamen Namen2 definiert habe.
Ich möchte es aber für die Zukunft bessermachen.

Nun meine Frage, wie ihr Die Übergabe an Word macht. Serienbrief??? Andere Felder ???

Gruß Thomas
Titel: Re: Datenübergabe -> Word
Beitrag von: Peter Klett am 10.08.20 - 15:47:15
Da ich dem ganzen MS-Kram nicht traue, mache ich das so simpel, wie möglich. Daher schreiben wir bei uns in die Vorlagen Platzhalter (einfache Texte z.B. [NameDesSystems:Platzhaltername]), die mit Suchen & Ersetzen ausgetauscht werden. Dazu haben wir eine zentrale Function, die auch Werte über 255 Zeichen austauschen kann. Funktioniert bisher seit Office 2003 bis Office 2019 und tauscht auch mehrere Platzhalter mit gleichem Namen aus.

Natürlich kann man dann nachträglich nicht mehr einzelne Felder ändern, sondern müsste dann das Dokument komplett neu erstellen. Das ist in unserem Kontext aber kein Problem
Titel: Re: Datenübergabe -> Word
Beitrag von: PromITheus am 03.09.20 - 16:18:28
Hallo Thomas,

die alte Weisheit "Notes ist nicht zum Drucken da" haben wir ebenfalls mit der Anbindung von Word aufgehoben. Der Benutzer erstellt Worddokumente nach seinem Wunsch, wir bauen Textmarken ein.

Per Lotus Script und dort integrierten VBA-Befehlen werden diese ausgetauscht. Es ist korrekt das jede Textmarke einmalig sein muss. Wir behelfen uns bei gleichen Werten, indem z.b. durchnummeriert wird Frist1, Frist2. Zusätzlich haben wir den Serienbrief integriert um z.B. Massenanschreiben gut erstellen zu können.
Titel: Re: Datenübergabe -> Word
Beitrag von: tfrenz am 03.09.20 - 16:27:26
Hallo, ich habe es nun umgebaut auf Serienbrief.
Im Hintergrund wird hier die Adressliste gebaut, dann Word mit Vorlage starten und noch die Serienbrieffunktion (Merge) nutzen, damit alle Felder gefüllt werden.
Hier kann man ein Feld dann auch mehrfach nutzen.

Danke Thomas
Titel: Re: Datenübergabe -> Word
Beitrag von: Christian Kröll am 09.09.20 - 15:29:50
Eleganter finde ich die Lösung über Word Dokumentvariablen, statt mit Mergefeldern. Das geht es dann auch ganz ohne Seriendruck:

1. Im Word-Dokument/Vorlage mit Strg + F9 die Feldklammern einfügen,
2. dann mit rechter Maustaste reinklicken und dort "Feld bearbeiten" wählen.
3. Unter der Auswahl der "Feldnamen" ist die DOCVariable. Nun noch einen Namen vergeben, z.B. den Notes-Feldnamen

Das so erzeugte Feld kann man beliebig oft im Dokument kopieren und braucht nicht jedesmal neue Namen, wie bei Textmarken

Das Füllen der Variable aus Notes geht dann mit einem Einzeiler:
Code
WordObj.variables("CompanyName").value = Dein Wert aus Notes

Code
WordObj.Fields.Update
nicht vergessen

Word-Dokumentvariablen lassen sich dann später auch von anderen Anwendungen wieder verwenden, was bei dem fertigen Seriendruck-Dokument nicht mehr geht, weil ja kein Feld mehr vorhanden ist. Z.B. Archivierungslösungen, Druckstraßen etc.