Finalfloo
Messages postés2Date d'inscriptionmercredi 22 octobre 2008StatutMembreDernière intervention14 septembre 2010
-
15 juil. 2010 à 09:56
cs_tchup
Messages postés1Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention20 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 ?
cs_tchup
Messages postés1Date d'inscriptionmardi 4 janvier 2005StatutMembreDernière intervention20 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)
}