Свойство FindReplace.FoundTextRange (Publisher)
Возвращает объект TextRange , представляющий найденный или замененный текст операции поиска. Только для чтения.
Синтаксис
expression. FoundTextRange
Выражение Переменная, представляющая объект FindReplace .
Возвращаемое значение
TextRange
Замечания
Фактический объект TextRange , возвращаемый свойством FoundTextRange , определяется значением свойства ReplaceScope . В следующей таблице перечислены соответствующие значения этих свойств (см. также перечисление PbReplaceScope ).
When ReplaceScope = | FoundTextRange = |
---|---|
pbReplaceScopeAll | переменная Empty |
pbReplaceScopeNone | Поиск текстового диапазона |
pbReplaceScopeOne | Заменить текстовый диапазон |
Если для ReplaceScope задано значение pbReplaceScopeAll, свойство FoundTextRange будет пустым . При любой попытке доступа к ней возвращается сообщение "Доступ запрещен". Способ управления текстовым диапазоном искомого текста заключается в том, чтобы задать свойству ReplaceScopeзначение pbReplaceScopeNone или pbReplaceScopeOne и получить доступ к текстовому диапазону искомого или замененного текста для каждого найденного вхождения.
Пример
Если параметр ReplaceScope имеет значение pbReplaceScopeNone, Функция FoundTextRange возвращает диапазон текста для искомого текста. В следующем примере показано, как получить доступ к атрибутам шрифта в текстовом диапазоне поиска, если для replaceScope задано значение pbReplaceScopeNone.
With TextRange.Find
.Clear
.FindText = "important"
.ReplaceScope = pbReplaceScopeNone
Do While .Execute = True
'The FoundTextRange contains the word "important".
If .FoundTextRange.Font.Italic = msoFalse Then
.FoundTextRange.Font.Italic = msoTrue
End If
Loop
End With
Если для ReplaceScope задано значение pbReplaceScopeOne, то текстовый диапазон искомого текста заменяется. Таким образом, свойство FoundTextRange возвращает текстовый диапазон замещающего текста. В следующем примере показано, как получить доступ к атрибутам шрифта замененного текстового диапазона, если для ReplaceScope задано значение pbReplaceScopeOne.
With Document.Find
.Clear
.FindText = "important"
.ReplaceWithText = "urgent"
.ReplaceScope = pbReplaceScopeOne
Do While .Execute = True
'The FoundTextRange contains the word "urgent".
If .FoundTextRange.Font.Bold = msoFalse Then
.FoundTextRange.Font.Bold = msoTrue
End If
Loop
End With
В этом примере каждый пример слова "strange" заменен словом "strange" и применяется курсивное и полужирное форматирование к замененному тексту.
Dim objDocument As Document
Set objDocument = ActiveDocument
With objDocument.Find
.Clear
.FindText = "bizarre"
.ReplaceWithText = "strange"
.ReplaceScope = pbReplaceScopeOne
Do While .Execute = True
.FoundTextRange.Font.Italic = msoTrue
.FoundTextRange.Font.Bold = msoTrue
Loop
End With
В этом примере выполняется поиск всех вхождений слова "важный" и применение к нему курсивного форматирования.
Dim objTextRange As TextRange
Set objTextRange = ActiveDocument.Pages(1).Shapes(1).TextFrame.TextRange
With objTextRange.Find
.Clear
.FindText = "important"
.ReplaceScope = pbReplaceScopeNone
Do While .Execute = True
.FoundTextRange.Font.Italic = msoTrue
Loop
End With
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.