Aller au contenu principal
Version: Next

WP INSERT FORMULA

WP INSERT FORMULA ( objCible ; formule ; mode {; miseAjourPlage} )

ParamètreTypeDescription
objCibleObjet🡒Plage ou élément ou document 4D Write Pro
formuleObjet🡒Objet formule
modeNumérique🡒Mode d'insertion
miseAjourPlageNumérique🡒Inclut ou exclut le contenu inséré dans la plage

Description

La commande WP INSERT FORMULA insère une formule dans objCible en fonction du mode d'insertion spécifié.

Dans le paramètre objCible, vous pouvez passer :

  • une plage, ou
  • un élément (table / ligne / cellule(s) / paragraphe / corps / en-tête / pied / section / sous-section / image en ligne), ou
  • un document 4D Write Pro.

Dans le paramètre formule, passez la formule 4D à évaluer. Vous pouvez passer :

  • soit un objet formula créé par la commande Formula ou Formula from string,
  • soit un objet contenant deux propriétés :
    | Propriété | Type | Description |
    | ------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | name | Chaîne | Nom à afficher pour la formule dans le document |
    | formula | Objet | L'objet formula créé par la commande Formula ou Formula from string |

Lorsque vous utilisez un objet avec un nom de formule (name), ce nom est affiché dans le document à la place de la référence de la formule lorsque les formules sont affichées en tant que référence, et dans la bulle d'aide de la formule lorsqu'elles sont affichées en tant que valeur ou symboles. Si la propriété name contient une chaîne vide ou est omise, elle est supprimée de l'objet et la formule est affichée par défaut. Pour plus d'informations, voir la page Gérer des formules.

Dans le paramètre mode, passez l'une des constantes suivantes pour indiquer le mode d'insertion à utiliser :

ConstanteTypeValeurComment
wk appendEntier long2Insère le contenu à la fin de la cible
wk prependEntier long1Le contenu est inséré au début de la cible
wk replaceEntier long0Remplace le contenu de la cible
  • Si objCible est une plage, vous pouvez utiliser le paramètre optionnel miseAjourPlage pour passer l'une des constantes suivantes pour spécifier si la formule insérée est inclue ou non dans la plage résultante :
ConstanteTypeValeurComment
wk exclude from rangeEntier long1Le contenu inséré n'est pas inclus dans la plage mise à jour
wk include in rangeEntier long0Le contenu inséré est inclus dans la plage mise à jour (défaut)

Si vous ne passez pas un paramètre rangeUpdate, la formule insérée est inclue par défaut dans la plage résultante.

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

Note: N'oubliez pas que, lorsqu'il est appelé, l'objet formule est évalué dans le contexte de la base de données ou du composant qui l'a créé.

Exemple 1

Pour remplacer les formules Date courante avec les chaines formatées :

 var $_formulas : Collection
 var $find;$newFormula : Object

 // définir la formule à rechercher
 $find:=Formula(Current date)
 
  // définir la formule de remplacement
 $newFormula:=Formula(String(Current date;System date long))
 
  // trouver les formules contenues dans le document
 $_formulas:=WP Get formulas(WriteProArea)
 
  // rechercher la collection à partir de WP Get formulas
 $_formulas:=$_formulas.query("formula.source :=1";$find.source)
 
  // puis remplacer chaque formule
 For each($formula;$_formulas)
    WP INSERT FORMULA($formula.range;$newFormula;wk replace)
 End for each


Exemple 2

Vous souhaitez utiliser un nom de formule pour le nom du client :

  //ajouter des données
 $data:=New object("customer";New object("lastname";"Smith";"firstname";"John"))
 WP SET DATA CONTEXT(WPArea;$data)
 
  //créer un objet formule avec un nom
 $o:=New object
 $o.formula:=Formula(This.data.customer.firstname+" "+This.data.customer.lastname)
 $o.name:="Customer name"
 
  //insérer comme texte
 $range:=WP Text range(WPArea;wk start text;wk end text)
 WP SET TEXT($range;"Dear ";wk append)
 WP INSERT FORMULA($range;$o;wk append)

Résultat :

Voir aussi

Gérer des formules
WP COMPUTE FORMULAS
WP FREEZE FORMULAS
WP Get formulas