zakariabamou
Messages postés28Date d'inscriptionmercredi 16 décembre 2009StatutMembreDernière intervention24 août 2012
-
8 août 2012 à 20:54
zakariabamou
Messages postés28Date d'inscriptionmercredi 16 décembre 2009StatutMembreDernière intervention24 août 2012
-
11 août 2012 à 19:04
bonjour a tout le monde, je cherche a développer un code en C# qui me permet d'utiliser les expressions régulières pour trouver des mots (par exemple ayant la forme PM-ASK-2134) dans un document Word, le code est facile pour des fichiers textes (.txt) mes pour un document Word c'est différent, SVP si qelqu'un a une idée je suis coinsé depuis 2 semaines. merci a l'avance.
voila mon code: (il permet de trouver la chaine "PM-ASK-2134" dans un document word mais je cherche a trouver toutes les ocurences de ce type en utilisant une expression régulière):
nvDoc.Application.Selection.Find.ClearFormatting();
Regex Tag = new Regex(@"SC-([\w\-.]+)-([\S\-.]+)");
nvDoc.Application.Selection.Find.Text = "PM-ASK-2134";
PackagePart mainPart = null;
Uri documentUri = null;
//on récupère la partie contenant les propriétés
foreach (PackageRelationship relationship in officePackage.GetRelationshipsByType(officeDocRelType))
{
// Il n'y a qu'une seule partie de type partType dans le package
documentUri = PackUriHelper.ResolvePartUri(new Uri("/", UriKind.Relative), relationship.TargetUri);
mainPart = officePackage.GetPart(documentUri);
break;
}
// en suite charger le contenu de cette partie dans un objet XmlDocument et //y rechercher un mot grâce à la méthode Contains:
if (mainPart != null)
{
//chargement de la partie dans un XmlDocument
XmlDocument doc = new XmlDocument();
doc.Load(mainPart.GetStream());
//sensible à la casse
if (doc.DocumentElement.InnerText.Contains(textBoxRechercher.Text))
{
MessageBox.Show("Texte trouvé dans le document");
}
else
{
MessageBox.Show("Impossible de trouver le texte dans le document");
}
}
//mais j'ai toujours le problème comment retrouver les occurrences d'une tag (BLABLA-TOTO-2135) a l'aide d'une expression régulière ???
Vous n’avez pas trouvé la réponse que vous recherchez ?
Tupad
Messages postés239Date d'inscriptionlundi 5 décembre 2005StatutMembreDernière intervention27 août 20125 10 août 2012 à 10:37
Tu dois remplacer le code
//sensible à la casse
if (doc.DocumentElement.InnerText.Contains(textBoxRechercher.Text))
{
MessageBox.Show("Texte trouvé dans le document");
}
else
{
MessageBox.Show("Impossible de trouver le texte dans le document");
}
zakariabamou
Messages postés28Date d'inscriptionmercredi 16 décembre 2009StatutMembreDernière intervention24 août 2012 11 août 2012 à 19:04
Chapeau,et bien que dire à par un grand merci à toi Tupad,
j'ai une autre question, comment récupérer l'explorateur de document d'un .docx (ou bien les titres des paragraphes)??