VBA для тех кто любит думать


VBA и Office XP - часть 87


With Selection.Find

.Text = ""

.Replacement.Text = ""

.Forward = True

.Wrap = wdFindContinue

.Format = True

.MatchCase = False

.MatchWholeWord = False

.MatchWildcards = False

.MatchSoundsLike = False

.MatchAllWordForms = False

End With

Selection.Find.Execute Replace:=wdReplaceAll

 

Насколько помнится, при записи макроса мы вызывали функцию замены Word для изменения всего выравнивания абзацев по левому краю на выравнивание по ширине. И вот перед нами эта функция, вызов которой записан на языке Visual Basic for Applications. По всей видимости, строчка “Selection.Find.ClearFormatting” означает очищение параметров форматирования в окне замены - эквивалент нажатию кнопки “Снять форматирование”, а фразы “Selection.Find.ParagraphFormat.Alignment = wdAlignParagraphLeft” и “Selection.Find.Replacement.ParagraphFormat.Alignment = wdAlignParagraphJustify” - установка параметров того, что надо искать - выравнивания “Left” (то есть по левому краю) и того, на что надо заменять - выравнивания “Justify” (по ширине). Нетрудно было догадаться - просто переведя с английского языка значения слов, входящих в команды: “Selection” - выделение, “Find.Replacement” - найти и заменить, “ParagraphFormat” - формат абзаца, “Alignment” - выравнивание, “AlignParagraphJustify” - “РавнятьАбзацПоШирине”. Что ж, ясно. Оператор “With” нам уже знаком - в следующим за разобранными нами строчками фрагменте речь пойдет об окне “Найти и заменить” (рис. 5.14).

 

05_14.bmp

Рис. 5.14. Вызов этой функции на языке Visual Basic for Applications описан в тексте.

 

Легко сообразить, что все параметры обьекта “Selection.Find” (то есть поиска в выделенной части текста или во всем тексте) соответствуют параметрам окна “Найти и заменить”: “.MatchWholeWord” - “искать целое слово”, “.MatchCase” - “учитывать регистр”. “.Text” - здесь, наверное, надо указать заменяемый текст, а “.Replacement.Text” - здесь то, на что заменить. В нашем случае заменять надо не текст, а форматирование, поэтому эти строчки пусты.




Начало  Назад  Вперед