OVH Cloud OVH Cloud

[WD55 & OLE] Tester le resultat d'une recherche dans Word

2 réponses
Avatar
Sam \(au boulot\)
Bonjour,

J'utilise Windev 5.5 avec Word 2000 via des liens OLE depuis longtemps... ça
roule. Mais là j'ai un soucis sur un nouveau développement.

J'aimerais savoir si une chaine est présente ou non dans un document, et
agir en conséquence. Tout fonctionne sauf.... le test pour savoir si la
chaine a été trouvée ou non.

Pour ma recherche j'utilise :descripteur_ole>>Selection>>Find>>Execute , ça
fonctionne bien, mais le code retour est toujour FAUX !

J'ai essayé :descripteur_ole>>Selection>>Find>>Found , également à FAUX.

J'ai essayé :descripteur_ole>>Selection>>Find>>Text en pensant que c'est le
résultat de ma recherche... faux, c'est la chaine que j'ai recherchée (donc
ça ne sert à rien).

J'ai essayé :descripteur_ole>>Selection>>Text , mais ça me renvoie une
chaine vide.

Et je vais continue d'essayer, mais là je commence à sécher...

Bref, comment savoir si mon Execute a trouvé et sélectionné ou non la chaine
? J'ai tout un traitement derrière plus tordu que cette simple histoire de
test, et qui fonctionne très bien. Frustrant...

Quelqu'un a une idée ?

Merci.
Sam.

2 réponses

Avatar
Didier Girod
Salut ,

Voici quelques élement complémentaires qui je l'espère t'aideront à faire
fonctionner ta recherche :

// on se positionne au début du document
ole_Word>>Selection>>Homekey()
// raz des paramètres de sélection recherche
ole_Word>>Selection>>Find>>clearformatting()

// recherche
si ole_word>>Selection>>Find>>execute("texte
recherché",olefaux,olefaux,olefaux,olefaux,olefaux,...
olevrai,1,olefaux,"",0) alors
info("trouvé ")
fin
// param1 => Texte recherché
// param2 => Faut il tenir compte des majuscule et minsuclule ? olevrai->oui
Olefaux -> non
// param3 => Recherche sur le mot entier ou partie du mot ? olevrai->oui
Olefaux -> non
// param4 => Le texte à rechercher contient des caractères générique ou
jocker ( * ?) olevrai->oui Olefaux -> non
// param5 => On recherche aussi les mots ayant la même sonorité ( ou
phonétique) olevrai->oui Olefaux -> non [Fonction je crois uniquement
dispo en anglais !]
// param6 => Recherche toutes les formes du texte ( present dans diffente
conjugaison) ( non dispo si phonétique ou recherche générique coché )
olevrai->oui Olefaux -> non [Fonction je crois uniquement dispo en anglais
!]
// param7 => Recherche éffectuée en descendant vers la fin du document
olevrai->oui Olefaux -> non
// param8 => Quelle action est à éffectuer lorsque que l'on atteind la fin
du document et que la recherche n'a pa scommencée au début du document (
Valeur possible --> 0: arrêt 1 : continuer 2 : Demande à l'utilisateur )
// param9 => Recherche avec mise en forme (ex: rechercher un mot en gras ou
surligné ...) ? olevrai->oui Olefaux -> non
// param10 => Remplacer le mot trouvé par la valeur de ce paramètre
// param11 => Paramètre de remplacement 0 --> pas de remplacement 1 -->
remplacement seulement de la première occurence trouvée 2 --> Remplacement
de tous



Didier Girod
Avatar
Sam \(au boulot\)
Ben oui, c'est quasiment comme mon code... mais bon ... heu... comment
dire.... en voyant ce code j'ai fini par chercher d'autres pistes, et
m'appercevoir qu'il y avait un blanc mal place dans mon texte, et avec une
police non proportionelle... Bref à force de faire pleins d'essais hier
tout en fin de journée, j'ai fini par ne plus voir l'évidence. D'ailleurs ce
matin c'était pas mieux jusqu'à ton mail.

Merci de m'avoir indirectement mis sur la voie :o)
Sam.

(ah j'ai honte...)



"Didier Girod" a écrit dans le message de
news:bm2vdk$d1f$
Salut ,

Voici quelques élement complémentaires qui je l'espère t'aideront à faire
fonctionner ta recherche :


[...]