Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Программирование в Microsoft Office для пользователей
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

10.6.5 Объекты Find и Replacement

Объекты Word.Find и Word.Replacement, программный поиск и замена текста в документе Word средствами VBA

Объекты Find и Replacement, как понятно из их названий, предназначены для выполнения операций поиска и замены. Объект Find — это условия поиска, "упакованные" в программный объект. У него множество свойств (Text, Style, Font, Forward, MathCase, LanguageID и т.п.), которые позволяют эти условия поиска определить. Чтобы запустить поиск, используется метод Execute() со множеством необязательных параметров, которые во многом дублируют свойства этого объекта (передав параметр ReplaceWith, можно выполнить даже замену текста). Для того, чтобы заменить все или просто проверить результаты поиска, используется значение, возвращаемое методом Execute(). Если значение обнаружено (поиск был успешен), то возвращается true, а если нет — false.

Как будет работать объект Find, зависит от того, из под какого объекта он был создан. Если он был создан при помощи свойства Find объекта Selection, то при обнаружении нужного фрагмента он выделяется. Если он был создан при помощи такого же свойства объекта Range, то диапазон переопределяется на найденный текст. Например, чтобы найти и выделить следующее вхождение текста "2004", можно использовать код:

Selection.Find.Text = "2004"

Selection.Find.Execute

Объект Replacement точно так же хранит настройки замены. Например, чтобы заменить везде до конца документа текст "2004" на "2005", можно использовать код

Selection.Find.Text = "2004"

Selection.Find.Replacement.Text = "2005"

Selection.Find.Execute Replace := wdReplaceAll

Многие программисты подстраховываются на случай, если во время поиска и замены возникнет ошибка из-за разницы в форматировании и используют метод ClearFormatting(). Этот метод очищает форматирование внутри объекта Find (на сам документ это никак не влияет) и позволяет производит поиск без учета форматирования. Например, наш код при использовании этого метода может выглядеть так:

Selection.Find.Text = "2004"

Selection.Find.ClearFormatting

Selection.Find.Replacement.Text = "2005"

Selection.Find.Replacement.ClearFormatting

Selection.Find.Execute Replace:=wdReplaceAll

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2016, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru