Les documents Word au format docx sont composés de différents fichiers xml compressés dans un fichier docx au format zip.
Vous pouvez donc modifier un fichier docx en réalisant une extraction des fichiers xlm et en modifiant ces fichiers xml. Le document est composé de paragraphes avec du texte, des tableaux, des images. Chaque élément peut être ajouté, extrait ou modifié. Ces éléments sont des fragments.
Evidemment, c'est beaucoup plus efficace et rapide en utilisant les fonctions Doc* de WINDEV. Et c'est encore plus facile en utilisant les dernières versions de WINDEV !
En effet, ce n'est plus la peine de reparcourir le document après une insertion pour modifier les données insérées, la commande d'insertion renvoie le fragment ajouté.
Par exemple, pour l'ajout d'un tableau et le remplissage des cellules on peut utiliser le code suivant :
// Création du document à partir du champ TTX
DocWord est un Document = TTX_Test
// Insertion d'un tableau
FragTableau est un docFragment = DocInsèreTableau(DocWord,1,3,3)
// Remplissage du tableau
POUR TOUT para DE FragTableau..Paragraphe
SI para..Tableau <> Null ALORS
// Pour toutes les colonnes du champ table ...
POUR nColonne = 1 _À_ 3
// Première ligne du tableau contient le titre des colonnes
para..Tableau..Cellules[1, nColonne]..Contenu..Texte = "Colonne 1"
para..Tableau..Cellules[1, nColonne]..MiseEnPage..CouleurFond=GrisClair
// Remplissage de toutes les lignes de cette colonne
POUR nLigne = 1 _À_ 2
para..Tableau..Cellules[nLigne+1, nColonne]..Contenu..Texte = "Col1/Ligne"+nLigne
FIN
FIN
SORTIR
FIN
FIN
// Document en mémoire affecté au champ Traitement de texte
TTX_Test = DocWord |