Tu as essayé avec un objet automation ?
Exemple 2 : Recherche et remplacement de texte dans Word 97
Le code suivant permet de rechercher l'expression "WinDev 5.5" dans un document et de la remplacer par "WinDev 7.5". Pour réaliser cette opération, un objet automation dynamique de type Word est utilisé.
// Création d'un objet automation dynamique
MaRecherche est une objet automation dynamique
// Déclaration d'une variable
MonDoc est une chaîne
// Déclarations des constantes de Word
WdReplaceAll est un entier = 2
WdFindContinue est un entier = 1
// Instance de Word existante ?
SI ObjetActif("Word.Application" ) <> NULL ALORS
// Récupération de l'instance de Word existante
MaRecherche = ObjetActif("Word.Application" )
SINON
// Allocation de l'objet automation "MaRecherche"
MaRecherche = allouer un objet automation "Word.Application"
FIN
// Word devient visible
MaRecherche>>Visible = Vrai
// Sélection du fichier dans lequel la recherche doit être effectuée
MonDoc = fSélecteur("","","Sélectionnez un fichier",...
"Fichiers Word (*.DOC)"+TAB+"*.DOC",...
"*",fselOuvre+fselExiste)
// Ouverture du fichier sélectionné
MaRecherche>>Documents>>Open(MonDoc)
// Recherche et remplacement
MaRecherche>>Selection>>Find>>Execute("WinDev 5.5",...
*,*,*,*,*,*,WdFindContinue,...
*,"WinDev 7",WdReplaceAll)
-- Code du bouton "FermeWord"
// Fermeture du document Word
MaRecherche>>ActiveWindow>>Close
// Fermeture de Word
MaRecherche>>Quit()