Свойство FindReplace.FoundTextRange (издатель)

Возвращает объект TextRange , представляющий найденный текст или замененный текст операции поиска. Только для чтения.

Синтаксис

выражение. 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

В этом примере каждый пример слова "странный" заменяется словом "странный", а к замененному тексту применяется курсив и полужирное форматирование.

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 и обратная связь.