|
Publicité ' | ||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 80 ![]() |
Bonjour,
J'ai un document word (.doc pas .docx) qui contient plusieurs balises { INCLUDETEXT "xxxx" \!}. Avec "xxxx" qui est un chemin en dur vers un fichier à inclure. Je voudrai modifier ce chemin xxxx pour le remplacer par un autre (NOTE: je dois laisser le .doc d'origine intact à cause de problèmes de déploiement). Donc je me demandais comment depuis Delphi ou VBA je pouvais : 1) ouvrir le .doc 2) changer le xxxx en yyyy 3) forcer word à appliquer les modifications (donc a inclure dans le ActiveDocument les sous documents yyyy) 4) sauver le document ainsi "mergé" dans un autre .doc Je suis preneur de tout bout de code pour faire ça [points 2 et 3 surtout] même dans un autre langage car je ne trouve rien à ce sujet sur le net. [NOTE: entre temps j'ai un peu avancé : Je peux accéder au code par ActiveDocument.Fields.Item(i).Code, qui me renvoie bien le INCLUDETEXT complet. Par contre si j'essaie d'affecter une chaine de caractère à ce .Code (pour le modifier) j'ai une erreur EOleSysError qui m'indique que le type ne colle pas. Je me doute que ça n'est pas aussi simple donc je cherche toujours de l'aide |
|
|
00
|
|
|
#2 | ||
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut,
On récupère et modifie le contenu d'un champ avec la propriété Code de ce champ. On peut faire un traitement sur le contenu pour éliminer du traitement ce qui doit l'être. Code :
Code :
Documents.Open("Monchemin de document") Code :
ActiveDocument.SaveAs "Mon chemin de sauvegarde"
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
||
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 80 ![]() |
Merci pour le tuyau c'est un bon début mais il doit y avoir une différence en Delphi car si j'arrive bien à lire le contenu du .Code , je ne peux pas le changer j'ai toujours une erreur OLE qui me dit que je n'utilise pas le bon type de valeur.
J'ai essayé une chaine de caractère en direct, un OleVariant mais rien n'y fait |
|
|
00
|
|
|
#4 | |
![]() ![]() |
Bonjour,
Code est un range, Essaye un string sur la propriété suivante Citation:
__________________
Cordialement, Christophe Merci de ne pas oublier de mettre résolu quand le sujet l'est. Cela aide tous les DVPnautes dans leur recherche |
|
|
|
00
|
|
|
#5 |
![]() ![]() ![]() Olivier LebeauContrôleur d'industrie Inscription : février 2006 Messages : 17 321 ![]() |
Salut Christophe,
Tu as raison, dans mon test, j'ai utilisé son cast pour avoir la donnée. Il faut utiliser .Text pour le modifier.
__________________
J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ? Débutez en VBA Mes articles Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus ! |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : novembre 2007 Messages : 80 ![]() |
Exact merci les champions !
Je venais de trouver la solution mais vous m'avez devancé |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com