Zeilenumbruch in Merge Fields (TextDynamic)

  • Hallo Julian,

    ich habe eine Dokumentenvorlage mit einigen Merge-Fields erstellt. Einige dieser Fields haben Absatzvormatierungen mit "Hängendem Einzug".

    Wenn ich die Felder füllen lasse (Merge.Text), stimmt soweit auch das Layout (1. Zeile li. Rand = 1 cm, Folge Zeilen li. Rand 1,5cm).

    Nun ist es aber so, dass diese Fields aus mehreren Datensätzen zusammen gesetzt werden, und ich zwischen jedem dieser Datensätze einen neuen Zeilen-/Absatzumbruch haben möchte.

    Die Felder werden mit Contents.StringValue = sInhalt befüllt.
    Nun dachte ich, dass ein "vbCrLF" zwischen den Datensätzen ausreichen sollte, um einen Zeilenumbruch durchzuführen, aber dem ist leider nicht so.

    Was mache ich da Falsch, bzw. welches Steuerzeichen muss ich in VB6 hier einfügen ??????

    Vielen Dank für die Unterstützung

    Helmut

    • Offizieller Beitrag

    Wenn Sie bei TextDynamic einen text einmischen welcher einen zeilenumbruch enthalten soll verwenden Sie bitte das \n zeichen, also Char(10).

    Sie können bei TextDynamic auch text im Rich Text Format (RTF) mischen, z.b.

    {\rtf1{text \par noch mehr text}}

    bzw als HTML

    <html><div>text</div><div>noch mehr text</div></html>

    siehe auch: http://www.wpcubed.com/manuals/tdref/…StringValue.htm

    Beste Grüsse,

    Julian Ziersch
    WPCubed GmbH

  • Hallo Julian,

    vielen Dank für die schnelle Antwort.

    Leider funktioniert das nicht.

    Nochmal zum besseren Verständnis:

    Ich habe in einer Vorlage mehrere MergeFields. Diese Felder haben, abhängig von Ihrem Typ, eigene Absatz Formate, da Sie jeweils in einer eigenen Zeile stehen.

    Ein AbsatzFormat sieht folgendermassen aus:

    Einrückung Links: 1,25 cm
    Erste Zeile: -0,75 cm

    Der Text sollte (und sieht auch erst mal so aus) nun folgendermassen aussehen.

    Beispiel:

    Das ist ein Text der eingefügt wurde .... (fortlaufender Text)
    ____jetzt wurde ein autom. Umbruch durchgeführt und alle weiteren
    ____Zeilen stehen nun hier untereinander.

    Wenn ich nun im Dokument an irgendeiner Stelle (im Hängenden Einzug) einen Zeilenumbruch einfüge (ENTER-TASTE), erscheint der darauffolgende Text ordnungsgemäß bündig mit "Das ist ein..." und alle FolgeZeilen wiederum eingerückt.

    Füge ich aber in den Contents-String per Code ein Chr(10) ein, so wird zwar ein Umbruch durchgeführt, aber der darauffolgende Text erscheint eingerückt und bündig mit "jetzt wurde ein .....".

    Das ist mein Problem und ich hoffe, ich konnte es verständlich machen.

    Ich muss den Text auf diese Weise füllen, da er aus unterschiedlichen Recordsets kommt.

    Ich hoffe Du kannst mir weiterhelfen.

    Vielen Dank


    Helmut

    • Offizieller Beitrag

    Hallo,

    das geht dann mit formattiertem text

    {\rtf1{
    zeile 1\par
    zeile 2\par
    }}

    man könnte hier auch einrückungen vornehmen, also

    {\rtf1{
    \li720\fi-720 zeile 1\par
    \li720\fi-720 zeile 2\par
    }}

    ANSI text wird immer nur in einen absatz eingefügt. Im grunde liegt hier eine Aufgabenstellung für die TextDynamic reporting engine vor, also
    <gruppe>
    Feld
    </gruppe>

    wobei die gruppe dann solange durchlaufen wird solange daten vorhanden sind. No so wird tatsächlich der absatz mitsamt seinen einstellungen kopiert.

    Grüsse,

    Julian

  • Hallo Julian,

    OK, ich komme also nicht drumherum, meine einzelnen ANSI-Texte vorher in ein RTF-Format zu packen, damit ich den ganzen Text per Contents.StringValue in das Merge-Field packen kann.

    Kann ich - und wenn ja, wie - auf das Absatzformat (Rand-Einstellungen) des aktuellen Merge-Fields zugreifen (auslesen), damit ich diese Einstellungen für den zu erzeugenden RTF-Text verwenden kann ?????

    Report-Engine scheidet hier aus, da der Benutzer anschliesend weiterhin Datensätze per Drag&Drop aus der Datenbank in das Dokument einfügen können soll, und diese Datensätze dann autom. dem entsprechendem Absatz hinzugefügt werden.

    Bei diesem Projekt handelt es sich um einen (Halb-) automatisierten Arztbrief der anhand markierter Karteikarten-Einträge über ein Frei definierbares Layout parallel an mehrere Empfänger (Nachrichtlich) erzeugt werden soll (Wunderbar über die TAB-Einstellung in TextDynamic zu realisieren) und Änderungen an einem "ABSATZ" eines Empfängers autom. bei allen anderen Empfängern auch durchgeführt werden sollen.

    Grüsse

    Helmut