[Automation Word C#] Fonction Recherche

Finalfloo Messages postés 2 Date d'inscription mercredi 22 octobre 2008 Statut Membre Dernière intervention 14 septembre 2010 - 15 juil. 2010 à 09:56
cs_tchup Messages postés 1 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 20 juillet 2010 - 20 juil. 2010 à 16:40
Bonjour,

Je programme actuellement un petit logiciel c# chargé de recherché dans un document Word 2003 une liste d'acronymes et de les remplacer par leur définition.

En voulant améliorer ce programme je voudrais faire en sorte qu'il détecte tout les mots en majuscule et qu'il les compare avec mon tableau.

J'ai réussi a trouvé la fonction pour faire en sorte qu'il recherche les mots en majuscule mais je voudrais maintenant récupérer ce qu'il vient de trouver.

En gros ma ligne suivant marche:

msWord.Application.Selection.Find.Execute("<[A-Z]{2;5}>", true, ref M, true, ref M, ref M, ref M, ref M, ref M, ref M, replaceAll, ref M, ref M, ref M, ref M);

Il me remplace tout les mots par ce que je veux donc ca veut dire qu'il les trouve.

Mais comment je fais pour afficher se qu'il trouve ?

Si je fait

Console.WriteLine(msWord.Application.Selection.Find.Text);

Il m'affiche "<[A-Z]{2;5}>"

Merci !

1 réponse

cs_tchup Messages postés 1 Date d'inscription mardi 4 janvier 2005 Statut Membre Dernière intervention 20 juillet 2010
20 juil. 2010 à 16:40
C'est normal, la propriété Textde Selection.Find renvoie le texte que tu utilises pour la recherche, donc dans ton cas "<[A-Z]{2;5}>"

je te conseille d'essayer la recherche mot par mot, et non pas tous d'un coup (si j'ai bien compris ton paramètre "replaceAll"), dans une boucle while : Tant que tu trouves un mot, tu récupères la sélection puis tu remplace ce que tu veux remplacer

quelque chose dans ce genre là :

while (msWord.Application.Selection.Find.Execute(<tes paramètres>))
{
    Console.WriteLine(msWord.Selection.Text);
    //et par exemple :
    msWord.Selection.TypeText(msWord.Selection.Text.ToLower())
    //attention, TypeText ne fonctionnera que si dans Word, l'option "la frappe remplace la sélection" est coché ! 
    //(par défaut, c'est le cas)
}
0
Rejoignez-nous