Практическое руководство. Восстановление выделения после поиска
Обновлен: Ноябрь 2007
Применение |
---|
Сведения в данном разделе относятся только к указанным проектам Visual Studio Tools for Office и версиям приложений Microsoft Office. Тип проекта
Версия Microsoft Office
Дополнительные сведения см. в разделе Доступность функций по типам приложений и проектов. |
Если производится поиск и замена текста в документе, возможно потребуется восстановление пользовательского выделения по завершении операции поиска.
Код в примере использует два объекта Range. Один из них сохраняет текущее выделение Selection, а другой делает весь документ диапазоном поиска.
Восстановление выделения пользователя после поиска
Создайте объекты Range для документа и текущего выделения.
Dim start As Word.Range = Application.Selection.Range Dim searchArea As Word.Range = Application.ActiveDocument.Range
Word.Range start = Application.Selection.Range; Word.Range searchArea = Application.ActiveDocument.Range(ref missing, ref missing);
Выполните операцию поиска и замены.
searchArea.Find.ClearFormatting() searchArea.Find.Text = "find me" searchArea.Find.Replacement.ClearFormatting() searchArea.Find.Replacement.Text = "Found" searchArea.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)
searchArea.Find.ClearFormatting(); searchArea.Find.Text = "find me"; searchArea.Find.Replacement.ClearFormatting(); searchArea.Find.Replacement.Text = "Found"; object replaceAll = Word.WdReplace.wdReplaceAll; searchArea.Find.Execute( ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref replaceAll, ref missing, ref missing, ref missing, ref missing);
Выберите стартовый диапазон для восстановления выделения пользователя.
start.Select()
start.Select();
Ниже приведен полный пример.
Пример
Friend Sub ReplaceRestoreSelection()
Dim start As Word.Range = Application.Selection.Range
Dim searchArea As Word.Range = Application.ActiveDocument.Range
searchArea.Find.ClearFormatting()
searchArea.Find.Text = "find me"
searchArea.Find.Replacement.ClearFormatting()
searchArea.Find.Replacement.Text = "Found"
searchArea.Find.Execute(Replace:=Word.WdReplace.wdReplaceAll)
start.Select()
End Sub
internal void ReplaceRestoreSelection()
{
Word.Range start = Application.Selection.Range;
Word.Range searchArea = Application.ActiveDocument.Range(ref missing, ref missing);
searchArea.Find.ClearFormatting();
searchArea.Find.Text = "find me";
searchArea.Find.Replacement.ClearFormatting();
searchArea.Find.Replacement.Text = "Found";
object replaceAll = Word.WdReplace.wdReplaceAll;
searchArea.Find.Execute(
ref missing, ref missing, ref missing, ref missing, ref missing,
ref missing, ref missing, ref missing, ref missing, ref missing,
ref replaceAll, ref missing, ref missing, ref missing, ref missing);
start.Select();
}
См. также
Задачи
Практическое руководство. Поиск и замена текста в документах
Практическое руководство. Поиск текста в документах
Практическое руководство. Установка параметров поиска в документах Word
Практическое руководство. Элементы просмотра и поиска в документах
Основные понятия
Общие сведения о необязательных параметрах в решениях Office