Практическое руководство. Элементы просмотра и поиска в документах
Обновлен: Ноябрь 2007
Применение |
---|
Сведения, приведенные в данном разделе, относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
Класс Find имеет свойство Found, возвращающее true, если искомый элемент был найден. Можно просмотреть все экземпляры, найденные в Range, при помощи метода Execute.
Просмотр найденных элементов
Объявите объект Range.
Приведенный ниже пример кода можно использовать в настройке на уровне документа.
Dim rng As Word.Range = Me.Content
Word.Range rng = this.Content;
Приведенный ниже пример кода можно использовать в надстройке уровня приложения. В этом примере используется активный документ.
Dim rng As Word.Range = Me.Application.ActiveDocument.Content
Word.Document document = this.Application.ActiveDocument; Word.Range rng = document.Content;
Используйте свойство Found в цикле, чтобы найти все вхождения в строке документа, и увеличивайте числовое значение на 1 каждый раз, когда находите строку.
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); }
Отобразите число раз, которое строка была найдена в окне сообщения.
MessageBox.Show("Strings found: " & intFound.ToString())
MessageBox.Show("Strings found: " + intFound.ToString());
Ниже приведен полный пример метода.
Пример настройки на уровне документа
Элементы просмотра в настройке на уровне документа
В следующем примере приведен полный код для настройки на уровне документа. Чтобы использовать этот код, выполните его из класса 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()); }
Пример надстройки уровня приложения
Элементы просмотра в надстройке уровня приложения
В следующем примере приведен полный код для надстройки уровня приложения. Чтобы использовать этот код, выполните его из класса ThisAddIn проекта.
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()); }
См. также
Задачи
Практическое руководство. Поиск текста в документах
Практическое руководство. Установка параметров поиска в документах Word
Практическое руководство. Определение и выделение диапазонов в документе
Практическое руководство. Восстановление выделения после поиска
Основные понятия
Общие сведения о необязательных параметрах в решениях Office