Substitution de textes par des images dans Word
Bonjour,
Je constitue des documents Word à partir de modèle (.DOT) et dans lesquels je dois substituer, non pas du texte par un autre, mais du texte par une image donnée...
Sur la base de ce qu'il y a dans la FAQ (merci bidou ;)), j'ai adapté le code de recherche de texte. Celui-ci fait bien le bon nombre de recherches mais la substitution n'est pas comme attendue...l'image n'est pas située en lieu et place du texte qu'elle doit remplacer (le texte demeure à sa place dans le document et les images sont insérées au début du document)
Ci-après, un extrait du code...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
var
Param1,
Param2,
Param3,
Param4,
Param5,
Param6,
Param7,
ZoneDeRecherche : OleVariant;
.....
Param1 := 0;
ZoneDeRecherche := aOfficeApp.ActiveDocument.Content; // Id aOfficeApp.ActiveDocument.Range(Param1, Param1);
Param1 := ChaineRecherche;
Param2 := False;
Param3 := True;
Param4 := wdFindStop;
Param5 := wdCharacter;
Param6 := 1;
repeat
ZoneDeRecherche.Find.Execute(Param1,Param2,Param2,Param2,Param2,Param2,Param3,Param4,emptyparam,emptyparam,emptyparam);
if ZoneDeRecherche.Find.Found then
begin
PhotoLink := False;
PhotoSaveWith := True;
// PhotoRange := ZoneDeRecherche.Find.Parent;
// aOfficeApp.ActiveDocument.InlineShapes.AddPicture(NomFichierImage, PhotoLink, PhotoSaveWith, PhotoRange);
aOfficeApp.Selection.InlineShapes.AddPicture(NomFichierImage, PhotoLink, PhotoSaveWith, EmptyParam);
end;
until not ZoneDeRecherche.Find.Found; |
J'ai bien essayé plusieurs façons avec ou sans le paramètre PhotoRange ci-dessus...mais rien n'y fait...et les aides de Word ainsi que la référence VB office ne sont pas trop claires sur le sujet...:roll:
Il semble que le texte recherché, même s'il a été trouvé, ne constitue pas la sélection courante après le find.execute .... :(
Je pense que c'est juste une histoire de sélection courante...mais je ne sais plus où chercher...
Quelqu'un aurait-il la solution ?
Merci d'avance ;)
Cela ne m'aide pas trop...
:cry: Désolé (et merci quand même), mais cela ne m'est pas trop utile...le pb vient de l'utilisation de la fonction de recherche de Word...A chaque fois qu'on trouve une chaine donnée, il faut lui substituer une image donnée.
En le faisant via une macro qu'on enregistre, cela marche...mais le hic vient du fait que dans la macro, le texte est à la fois surligné et sélectionné avant d'effectuer l'insertion de l'image....:(
Cela doit être possible de le faire en adaptant le bout de code que j'ai stipulé...mais comment ?