Поделиться через


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