Programowa pętla przez znalezione elementy w dokumentach
Klasa Find ma Found właściwość, która zwraca wartość true za każdym razem, gdy zostanie znaleziony wyszukiwany element. Możesz wykonać pętlę we wszystkich wystąpieniach znalezionych w Range metodzie Execute .
Dotyczy: informacje w tym temacie dotyczą projektów na poziomie dokumentu i projektów dodatków VSTO dla programu Word. Aby uzyskać więcej informacji, zobacz Funkcje dostępne przez aplikacja pakietu Office lication i typ projektu.
Aby przeprowadzić pętlę przez znalezione elementy
Zadeklaruj Range obiekt.
Poniższy przykład kodu może być używany w dostosowywaniu na poziomie dokumentu.
Poniższy przykład kodu może być używany w dodatku VSTO. W tym przykładzie użyto aktywnego dokumentu.
Found Użyj właściwości w pętli, aby wyszukać wszystkie wystąpienia ciągu w dokumencie i zwiększać zmienną całkowitą o 1 za każdym razem, gdy ciąg zostanie znaleziony.
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); }
Wyświetl liczbę znalezionych ciągów w polu komunikatu.
W poniższych przykładach przedstawiono kompletną metodę.
Przykład dostosowywania na poziomie dokumentu
Aby przeprowadzić pętlę przez elementy w dostosowywaniu na poziomie dokumentu
W poniższym przykładzie pokazano pełny kod dostosowywania na poziomie dokumentu. Aby użyć tego kodu, uruchom go z
ThisDocument
klasy w projekcie.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()); }
Przykład dodatku VSTO
Aby przeprowadzić pętlę przez elementy w dodatku VSTO
W poniższym przykładzie przedstawiono kompletny kod dodatku VSTO. Aby użyć tego kodu, uruchom go z
ThisAddIn
klasy w projekcie.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()); }
Powiązana zawartość
- Instrukcje: Programowe wyszukiwanie i zastępowanie w dokumentach
- Instrukcje: Programowe ustawianie opcji wyszukiwania w programie Word
- Instrukcje: Programowe definiowanie i wybieranie zakresów w dokumentach
- Instrukcje: Programowe przywracanie zaznaczeń po wyszukiwaniu
- Parametry opcjonalne w rozwiązaniach pakietu Office