Document html à intégrer dans word 2000 - VB/VBA/VBS - Programmation
MarshPosté le 17-01-2006 à 09:38:32
Bonjour,
Je ne savais pas trop dans quelle catégorie poster ma question. Comme, à la base, mon pb vient d'un développement en php, je la pose ici, sur le forum de programmation.
Voilà mon pb. Initialement, j'ai un document word avec des styles biens définis (pour les titres, les corps de doc, interlignes, etc.). Une partie de ce document provient depuis qq temps d'une appli écrite en php et qui s'appuie sur une base de données (MySql). La seule solution simple que j'ai trouvée pour intégrer mes données, mises en forme, dans le document word est de générer par l'appli php un document html (XML + transformation XSL afin de pouvoir modifier facilement le template xsl en cas de changement de mise en forme du document word) puis de procéder à un coper/coller dans le document word. Ma feuille de styles (css) reprend les mêmes caractéristiques que les styles du document word, avec les mêmes noms. Je m'étais dit que comme ça, vue que les styles avaient les mêmes noms, Word n'y verrait que du feu et que la mise en forme serait identique, bien quelle vienne d'un document html.
Effectivement, le document html généré a bien la même apparence que le document word. Mais quand je fais le copier/coller, l'alignement "justifié" est horrible (word justifie une ligne qui n'a que qq mots, donc, je vous raconte pas la taille des espaces entre chaque mot), les interlignes non respectés et mes styles css sont renommés (ex : le style "Normal" du css est renommé "Normal (web)" car Word a déjà un style nommé "Normal" et ne veut pas comprendre que c'est le même).
D'où ma question. Comment faire pour passer des données mises en forme depuis une appli php vers un doc word et faire comprendre à word que le style "Normal" du css est le même que le sien et donc, le prendre comme tel sans le renommer? Ou alors, est-ce que vous connaissez une fonction de word pour nettoyer les styles? 2 autres pistes : - Le rtf, c'est dur à générer par du php? Si oui, ça s'intègre bien dans word? - est-ce qu'une macro en vba pourrait m'aider?
Marsh Posté le 17-01-2006 à 09:38:32
Bonjour,
Je ne savais pas trop dans quelle catégorie poster ma question. Comme, à la base, mon pb vient d'un développement en php, je la pose ici, sur le forum de programmation.
Voilà mon pb. Initialement, j'ai un document word avec des styles biens définis (pour les titres, les corps de doc, interlignes, etc.). Une partie de ce document provient depuis qq temps d'une appli écrite en php et qui s'appuie sur une base de données (MySql). La seule solution simple que j'ai trouvée pour intégrer mes données, mises en forme, dans le document word est de générer par l'appli php un document html (XML + transformation XSL afin de pouvoir modifier facilement le template xsl en cas de changement de mise en forme du document word) puis de procéder à un coper/coller dans le document word. Ma feuille de styles (css) reprend les mêmes caractéristiques que les styles du document word, avec les mêmes noms. Je m'étais dit que comme ça, vue que les styles avaient les mêmes noms, Word n'y verrait que du feu et que la mise en forme serait identique, bien quelle vienne d'un document html.
Effectivement, le document html généré a bien la même apparence que le document word. Mais quand je fais le copier/coller, l'alignement "justifié" est horrible (word justifie une ligne qui n'a que qq mots, donc, je vous raconte pas la taille des espaces entre chaque mot), les interlignes non respectés et mes styles css sont renommés (ex : le style "Normal" du css est renommé "Normal (web)" car Word a déjà un style nommé "Normal" et ne veut pas comprendre que c'est le même).
D'où ma question. Comment faire pour passer des données mises en forme depuis une appli php vers un doc word et faire comprendre à word que le style "Normal" du css est le même que le sien et donc, le prendre comme tel sans le renommer? Ou alors, est-ce que vous connaissez une fonction de word pour nettoyer les styles?
2 autres pistes :
- Le rtf, c'est dur à générer par du php? Si oui, ça s'intègre bien dans word?
- est-ce qu'une macro en vba pourrait m'aider?
Merci d'avance de votre aide