Aller au contenu principal
Version : 21 R2 BETA

WP Insert document body

WP Insert document body ( targetObj : Object ; wpDoc : Object ; mode : Integer {; rangeUpdate : Integer} ) : Object

ParamètresTypeDescription
targetObjObjectPlage ou élément ou document 4D Write Pro
wpDocObjectDocument 4D Write Pro
modeIntegerMode d'insertion
rangeUpdateIntegerMode de mise à jour de la plage
RésultatObjectObjet de plage de texte référençant le corps du document inséré

Description

La commande WP Insert document body insère le corps du document wpDoc dans l'objet targetObj spécifié, conformément aux paramètres mode et rangeUpdate transmis, et retourne la plage du corps du document inséré.

Dans targetObj, passez :

  • Une plage, ou
  • Un élément (tableau / ligne / paragraphe / corps / en-tête / pied de page / image en ligne / section / sous-section / zone de texte), ou
  • un document 4D Write Pro.

Le document wpDoc inséré peut être n'importe quel document 4D Write Pro créé à l'aide de la commande WP New ou WP Import document. Seuls les éléments enfants du corps sont insérés (c'est-à-dire que les en-têtes, les pieds de page, les zones de texte et les images ancrées ne sont pas insérés). Les sections et les signets de la plage de destination sont préservés. De plus, les éléments sont copiés, donc wpDoc peut être réutilisé plusieurs fois.

Dans le paramètre mode, passer une ou une combinaison des constantes suivantes du thème 4D Write Pro Constants pour indiquer le mode d'insertion à utiliser pour le document dans la destination targetObj :

ConstanteTypeValeurCommentaire
wk appendInteger2Insérer le contenu à la fin de la cible
wk prependInteger1Insérer le contenu au début de la cible
wk replaceInteger0Remplacer le contenu de la cible

Vous pouvez combiner une des constantes précédentes avec les options d'insertion suivantes :

ConstanteTypeValeurCommentaire
wk freeze expressionsInteger64Figer les expressions au moment de l'insertion
wk keep paragraph stylesInteger128Appliquer les styles de paragraphe de destination. Dans le cas d'une opération d'ajout de wk, le contenu est inséré sans saut de paragraphe initial.

Dans le paramètre rangeUpdate (Optionnel); si targetObj est une plage, vous pouvez passer une des constantes suivantes pour spécifier si le contenu inséré est inclus dans la plage résultante :

ConstanteTypeValeurCommentaire
wk exclude from rangeInteger1Les contenus insérés ne sont pas inclus dans la plage mise à jour
wk include in rangeInteger0Contenu inséré inclus dans la plage mise à jour (par défaut)

Si vous ne passez pas un paramètre rangeUpdate, par défaut, le contenu inséré est inclus dans la plage résultante.

  • Si targetObj n'est pas une plage, rangeUpdate est ignoré.

Exemple 1

Vous souhaitez remplacer le contenu d'un document par le texte sélectionné d'un autre documentt :

 $tempRange:=WP Get selection(WPTemplate) //on lit la sélection utilisateur dans le document WPTemplate
$doctoCopy:=WP New($tempRange) //on crée un nouveau document à partir de WPTemplate
WP Insert document body(WPDoc;$doctoCopy;wk replace) //on remplace le contenu de WPDoc par le contenu du nouveau document

Exemple 2

Vous avez défini un document modèle (template) avec différentes parties préformatées, chacune d'entre elles étant stockée en tant que signet. Lorsque vous produisez un document final à partir du modèle, vous pouvez extraire n'importe quel signet en tant que nouveau document et l'insérer dans le document final.

 ARRAY TEXT($_BookmarkNames;0)
WP GET BOOKMARKS([TEMPLATES]WP;$_BookmarkNames) //lire les signets du modèle (template)
$targetRange:=WP New //créer un nouveau document vide (sera le document final)

$p:=Find in array($_BookmarkNames;"Main_Header") //traiter l'entête principal nommé "Main_Header"
If($p>0)
$Range:=WP Get bookmark range(WParea;$_BookmarkNames{$p}) //sélectionner la plage
$RangeDoc:=WP New($Range) //créer un nouveau document depuis la plage
WP Insert document body($targetRange;$RangeDoc;wk append+wk freeze expressions) //wk append=après remplacement, $targetRange est égal à la fin du texte remplacé
End if

Exemple 3

Vous voulez définir le style et la taille de la police pour le corps du document inséré :

WPdoc:=WP Import document("myFile.4wp")
$range1:=WP Insert document body(WParea; WPdoc; wk append)

WP SET ATTRIBUTES($range1; wk font size; "12pt")
WP SET ATTRIBUTES($range1; wk font family; "Times New Roman")
WP SET ATTRIBUTES($range1; wk font italic; wk true)

Voir également

WP INSERT BREAK
WP INSERT PICTURE
WP New