Comment : parcourir les éléments trouvés dans les documents
Mise à jour : novembre 2007
S'applique à |
---|
Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés. Type de projet
Version de Microsoft Office
Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet. |
La classe Find possède une propriété Found, laquelle retourne la valeur true chaque fois qu'un élément recherché est détecté. Vous pouvez parcourir toutes les instances trouvées dans une Range à l'aide de la méthode Execute.
Pour parcourir les éléments trouvés
Déclarez un objet Range.
L'exemple de code suivant peut être utilisé dans une personnalisation au niveau du document.
Dim rng As Word.Range = Me.Content
Word.Range rng = this.Content;
L'exemple de code suivant peut être utilisé dans un complément d'application. Cet exemple utilise le document actif.
Dim rng As Word.Range = Me.Application.ActiveDocument.Content
Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Content;
Utilisez la propriété Found dans une boucle pour rechercher toutes les occurrences de la chaîne dans le document, et incrémentez de 1 une variable de type entier chaque fois que la chaîne est détectée.
rng.Find.ClearFormatting() rng.Find.Forward = True rng.Find.Text = "find me" rng.Find.Execute() Do While rng.Find.Found = True intFound += 1 rng.Find.Execute() Loop
rng.Find.ClearFormatting(); rng.Find.Forward = true; rng.Find.Text = "find me"; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); while (rng.Find.Found) { intFound++; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); }
Affichez le nombre de fois que la chaîne a été trouvée dans un message.
MessageBox.Show("Strings found: " & intFound.ToString())
MessageBox.Show("Strings found: " + intFound.ToString());
Les exemples suivants illustrent la méthode complète.
Exemple de personnalisation au niveau du document
Pour parcourir les éléments d'une personnalisation au niveau du document
L'exemple suivant affiche le code complet correspondant à une personnalisation au niveau du document. Pour utiliser ce code, exécutez-le dans votre projet à partir de la classe ThisDocument.
Private Sub FindLoop() Dim intFound As Integer = 0 Dim rng As Word.Range = Me.Content rng.Find.ClearFormatting() rng.Find.Forward = True rng.Find.Text = "find me" rng.Find.Execute() Do While rng.Find.Found = True intFound += 1 rng.Find.Execute() Loop MessageBox.Show("Strings found: " & intFound.ToString()) End Sub
private void FindLoop() { int intFound = 0; Word.Range rng = this.Content; rng.Find.ClearFormatting(); rng.Find.Forward = true; rng.Find.Text = "find me"; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); while (rng.Find.Found) { intFound++; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); } MessageBox.Show("Strings found: " + intFound.ToString()); }
Exemple de complément d'application
Pour parcourir les éléments d'un complément d'application
L'exemple suivant affiche le code complet correspondant à un complément d'application. Pour utiliser ce code, exécutez-le à partir de la classe ThisAddIn dans votre projet.
Private Sub FindLoop() Dim intFound As Integer = 0 Dim rng As Word.Range = Me.Application.ActiveDocument.Content rng.Find.ClearFormatting() rng.Find.Forward = True rng.Find.Text = "find me" rng.Find.Execute() Do While rng.Find.Found = True intFound += 1 rng.Find.Execute() Loop MessageBox.Show("Strings found: " & intFound.ToString()) End Sub
private void FindLoop() { int intFound = 0; Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Content; rng.Find.ClearFormatting(); rng.Find.Forward = true; rng.Find.Text = "find me"; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); while (rng.Find.Found) { intFound++; rng.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing); } MessageBox.Show("Strings found: " + intFound.ToString()); }
Voir aussi
Tâches
Comment : rechercher du texte dans les documents
Comment : définir les options de recherche dans Word
Comment : définir et sélectionner des plages dans les documents
Comment : restaurer des sélections après des recherches
Concepts
Fonctionnement des paramètres optionnels dans les solutions Office