Lade...
 

CX_WORD_XML::PutFormattedText

CX_WORD_XML::PutFormattedText

Beschreibung:

Kopiert den Inhalt des übergebenen Word-Dokuments absatzweise ans Ende des aufrufenden Dokuments. Sollte der letzte Absatz des Dokuments leer sein, was bei einem leeren Dokument zum Beispiel der Fall ist, dann wird der erste Absatz des einzufügenden Dokuments den leeren Absatz ersetzen.

Wie auch bei Merge, merkt sich CX_WORD_XML bei PutFormattedText die Dokumente, deren Dokumentreferenzen bereits reinkopiert wurden. PutFormattedText konvertiert automatisch alle nach CX_WORD_XML konvertierbaren Pramameter falls nötig.

Aus Performanzegründen sollte auf die Übergabe von COM-Objekten als Parameter verzichtet werden, da jede Konvertierung viel Zeit kostet und bei jeder Konvertierung neue XML Objekte erstellt werden, sodass alle Dokumentreferenzen jedes mal neu importiert werden, auch wenn das COM-Objekt bereits eingefügt wurde. Das hat zur Folge, dass bei häufigem einfügen des gleichen COM-Objekts der Druck sehr lange dauert und das Ergebnisdokument enorm groß wird.
Diesen Effekt kann man verhindern, indem ein solches COM-Objekt vor dem Druckvorgang einmal mit GetXML in ein CX_WORD_XML-Objekt konvertiert wird und dieses für den Druckvorgang benutzt.

Das PutFormattedText verädert den transitiven Bereich des Dokuments. Damit Änderungen in der Datenbank übernommen werden, muss SaveXMLString aufgerufen werden.

Bis zur Dll-Version 4.5.2.158947 hat PutFormattedText ausschließlich Parameter vom Typ CX_WORD_XML akzeptiert

Code-Beispiel:
Var(insertXml, targetXml,c)

//Einzufügendes Dokument initialisieren
CreateTransObject(CX_WORD_XML) -> insertXml
insertXml Call(EmptyDocument)
"Dies wurde eingefügt" insertXml Call(PutText)
insertXml Call(InsertBreak)

//Zieldokument initialisieren
CreateTransObject(CX_WORD_XML) -> targetXml
targetXml Call(EmptyDocument)

//10 Mal Dokument einfügen
1 -> c
do
  "Seite " c + targetXml Call(PutText)
  insertXml targetXml Call(PutFormattedText)
  Incr(c)
  c 10 = !
while

Stack
Stack Position Objekttyp Kurzbeschreibung
Stack(In) Top CX_WORD_XML Zieldokument für diese Operation
  Top-1 CX_WORD_XML |
CX_MULTIPLE_WORD_XML |
CX_COM_OBJECT |
CX_MULTIPLE_COM_OBJECT |
Dokument, welches eingefügt werden soll.
Stack(Out) Top    

Funktionsaufruf: Call(PutFormattedText)