Bonjour,
Je dois créer n rapports au format Word. Ces rapports sont "complexes" : ils contiennent un texte "figé" et des images et des graphiques excel qui diffèrent en fonction de l'année.
J'ai donc pensé à créer un répertoire pour chaque année:
200x/rapport.doc
200x/XML/data.xml {data2.xml...}
200x/IMG/img1.jpg {img2.jpg...}
rapport.doc étant "statique", les autres fichiers étant dynamiques
1) comment "binder" (associer) un graphique excel à des données xml en utilisant un chemin relatif ? (/XML/data.xml et pas D:\blabla\2005\XML\data.xml)
2) est-il possible de faire en sorte que les objets liés (graphiques/feuilles excel) dans un document Word se rafraichissent à chaque ouverture du document, si possible sans macros ? sinon que faut-il mettre dans la macro ?
D'avance merci.
Vincent.
PS : pour info, actuellement, pour lier mes XML, je fais comme cela :
dans Word, menu insertion/Objet/Feuille de calcul MS excel
je clique sur l'objet inséré et je fais ouvrir (click droit feuille de calcul/ouvrir) ce qui m'ouvre Excel
dans excel, menu Données/XML/Source XML puis mappages XML, ajouter, OK
je drag'n drop le mappage sur la feuille de calcul et je quitte excel pour revenir à Word.
Le souci c'est que
I) le chemin vers les données xml a été stocké en absolu (si j'en crois ActiveWorkbook.XmlMaps("NewDataSet_Mappage").DataBinding.SourceUrl)
=> je n'arrive pas à modifier le path,ni par programmation (*.SourceUrl = "xml\data.xml"), ni "directement" dans l'objet mappage.
II) les graphes/tables excel liées ne sont pas rafraichies à chaque ouverture du document Word
=> j'arrive à faire un refresh par Macro
ActiveWorkbook.XmlMaps("NewDataSet_Mappage").DataBinding.Refresh
mais je ne connais suffisamment le modèle objet pour savoir comment déclencher cette macro. Je sais comment déclencher une macro depuis Word (en la nommant AutoOpen) mais je n'ai pas réussi à déclencher des macros sur des objets excel liés dans un Word.