Accès programmé aux éléments dans 4D Write Pro

Traduit automatiquement de Deepl

4D Write Pro offre de plus en plus de possibilités de programmation ! Imaginons que vous souhaitiez modifier par programmation le style d’un tableau, d’un paragraphe ou d’une image dans un document 4D Write Pro existant. Avec 4D v17, c’est possible ! Désormais, vous pouvez accéder à n’importe quel élément ou partie d’un document, par programmation. Ces parties, appelées éléments, seront retournées soit sous forme de collection grâce à la fonction WP Get elements ou comme un seul élément avec la fonction WP Get element by ID fonction.

collection d’éléments

La commande WP Get elements renvoie une collection d’éléments de tout type (paragraphes, tableaux, images, etc.). Si une plage ou une référence typée est passée, la commande retournera une collection contenant uniquement des éléments du type correspondant (sauf si spécifié dans le second paramètre). Sinon, la commande renvoie une collection contenant tous les éléments disponibles, quel que soit leur type.

Par exemple :

  • Si le premier paramètre est une plage d’un type spécifique (une plage de paragraphes par exemple), alors les éléments retournés seront également des paragraphes.
  • Si le premier paramètre n’est pas spécifique (un document complet ou une plage hétérogène), les éléments retournés peuvent être filtrés avec un dernier paramètre (facultatif).

// Returns all elements of the document
$allElements
:=WP Get elements(wpDoc)

// Returns all table elements of the document
$allTables :=WP Get elements(wpDoc;wk type table)

// Returns all paragraphs of the range
$paragraphCol :=WP Get elements($paragraphRange)

// Returns all paragraphs of the table range
$paragraphCol:=WP Get elements($tableRange;wk type paragraph)

// Returns all the tables of the given range
$someTableCol:=WP Get elements($customRange;wk type table)

Une fois créée, la collection peut alors être analysée. Chaque élément est un objet qui peut être utilisé comme paramètre pour la commande, WP SET ATTRIBUTES.

Élément unique

La commande WP Get element by ID permet d’accéder à un seul élément. Dans les documents 4D Write Pro, certains éléments ont des ID par défaut (comme les images et les tableaux). Lorsqu’ils existent, ces ID peuvent être modifiés, et lorsqu’ils n’existent pas, ils peuvent être créés. Sachant cela, le comportement de la commande est assez facile à comprendre, elle retourne un seul élément pour un ID donné!

Une fois que vous avez obtenu l’élément, vous pouvez le manipuler comme indiqué ci-dessous :

$element:=WP Get element by ID(myDoc; "Table1" )
WP SET ATTRIBUTES ($element;wk border style;wk solid)
WP SET ATTRIBUTES ($element;wk border width; "4px" )
WP SET ATTRIBUTES ($element;wk border color; "blue" )

Roland Lannuzel
- Product Owner & 4D Expert - Après avoir étudié l'électronique, Roland s'est lancé dans l'informatique industrielle en tant que développeur et consultant, créant des solutions pour les clients avec une variété de bases de données et de technologies. À la fin des années 80, il est tombé amoureux de 4D et l'a utilisé pour écrire des applications commerciales, notamment des systèmes de comptabilité, de facturation et de messagerie électronique. Il a rejoint la société en 1997 et a contribué à la conception de spécifications, d'outils de test et de démonstrations, ainsi qu'à la formation et à la présentation de la communauté 4D lors de nombreuses conférences. Il continue à façonner activement l'avenir de 4D en définissant de nouvelles fonctionnalités et des outils de développement de bases de données.