4D v17

WP INSERT DOCUMENT

Home

 
4D v17
WP INSERT DOCUMENT

WP INSERT DOCUMENT 


 

WP INSERT DOCUMENT ( rangeObj ; wpDoc ; mode {; rangeUpdate} )  
Parameter Type   Description
rangeObj  Object in 4D Write Pro range
wpDoc  Object in 4D Write Pro document
mode  Longint in Insertion mode
rangeUpdate  Longint in Range update mode

The WP INSERT DOCUMENT command inserts the wpDoc document in the rangeObj range according to the specified insertion mode and rangeUpdate parameters.

In rangeObj, pass a 4D Write Pro range.

The inserted wpDoc document can be any 4D Write Pro document object created using the WP New or WP Import document command. Only the body children elements are inserted (sections and bookmarks in the destination range are preserved). In addition, the elements are copied, so wpDoc can be re-used several times.

In the mode parameter, pass one or a combination of the following constants from the 4D Write Pro Constants theme to indicate the insertion mode to be used for the document in the destination rangeObj range:

Constant Type Value Comment
wk append Longint 2 Insert contents at end of target
wk prepend Longint 1 Insert contents at beginning of target
wk replace Longint 0 Replace target contents

You can combine one of the previous constants with the following insertion options:

Constant Type Value Comment
wk freeze expressions Longint 64 Freeze expressions at the moment of the insertion
wk keep paragraph styles Longint 128 Keep destination paragraph styles

In the optional rangeUpdate parameter, you can pass one of the following constants to specify whether or not the inserted contents are included in the resulting range:

Constant Type Value Comment
wk exclude from range Longint 1 Inserted contents not included in updated range
wk include in range Longint 0 Inserted contents included in updated range (default)

If you do not pass a rangeUpdate parameter, by default the inserted contents are included in the resulting range.

You want to replace the contents of a document by the text selected in another one:
 

 $tempRange:=WP Get selection(WPTemplate) //we retrieve the user selection in the WPTemplate document
 $doctoCopy:=WP New($tempRange//create a new document based on WPTemplate
 WP INSERT DOCUMENT(WPDoc;$doctoCopy;wk replace//replace contents of WPDoc by the contents of the new document

You have defined a template document with different preformatted parts, each of them being stored as a bookmark. When producing a final document from the template, you can extract any bookmark as a new document and insert it in the final document.
 

 ARRAY TEXT($_BookmarkNames;0)
 WP GET BOOKMARKS([TEMPLATES]WP;$_BookmarkNames//get the bookmarks from the template
 $targetRange:=WP New //create an empty document (will be the final document)
 
 $p:=Find in array($_BookmarkNames;"Main_Header") //handle the main header part
 If($p>0)
    $Range:=WP Get bookmark range(WParea;$_BookmarkNames{$p}) //select the range
    $RangeDoc:=WP New($Range//create a new document from the range
    WP INSERT DOCUMENT($targetRange;$RangeDoc;wk append+wk freeze expressions//wk append=after replacement, $targetRange is equal to end of replaced text
 End if



See also 


WP INSERT BREAK
WP INSERT PICTURE
WP New

 
PROPERTIES 

Product: 4D
Theme: 4D Write Pro Language
Number: 1411

This command can be run in preemptive processes

 
HISTORY 

Created: 4D v16

 
ARTICLE USAGE

4D Write Pro Reference ( 4D v17)