Метод TextRange.Replace (PowerPoint)
Находит определенный текст в текстовом диапазоне, заменяет найденный текст указанной строкой и возвращает объект TextRange , представляющий первое вхождение найденного текста. Возвращает значение Nothing, если совпадение не найдено.
Синтаксис
expression. Replace (FindWhat, ReplaceWhat, After, MatchCase, WholeWords)
Выражение Переменная, представляющая объект TextRange .
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Найти что | Обязательный | String | Текст для поиска. |
ReplaceWhat | Обязательный | String | Текст, которым вы хотите заменить найденный текст. |
After | Необязательный | Integer | Положение символа (в указанном текстовом диапазоне), после которого требуется выполнить поиск следующего вхождения FindWhat. Например, если вы хотите выполнить поиск из пятого символа текстового диапазона, укажите 4 в поле After. Если этот аргумент опущен, первый символ текстового диапазона используется в качестве отправной точки для поиска. |
MatchCase | Необязательный | MsoTriState | Определяет, проводится ли различие на основе случая. |
Целое слове | Необязательный | MsoTriState | Определяет, найдены ли только целые слова. |
Возвращаемое значение
TextRange
Замечания
Значение параметра MatchCase может быть одной из этих констант MsoTriState .
Константа | Описание |
---|---|
msoFalse | Значение по умолчанию. Не различает прописные и строчные буквы. |
msoTrue | Различает символы в верхнем и нижнем регистрах. |
Значение параметра WholeWords может быть одной из этих констант MsoTriState .
Константа | Описание |
---|---|
msoFalse | Значение по умолчанию. Не находит только целые слова. |
msoTrue | Находит только целые слова. |
Пример
В этом примере каждое целословное вхождение "нравится" во всех фигурах в активной презентации заменено на "NOT LIKE".
Sub ReplaceText()
Dim oSld As Slide
Dim oShp As Shape
Dim oTxtRng As TextRange
Dim oTmpRng As TextRange
Set oSld = Application.ActivePresentation.Slides(1)
For Each oShp In oSld.Shapes
Set oTxtRng = oShp.TextFrame.TextRange
Set oTmpRng = oTxtRng.Replace(FindWhat:="like", _
Replacewhat:="NOT LIKE", WholeWords:=True)
Do While Not oTmpRng Is Nothing
Set oTxtRng = oTxtRng.Characters(oTmpRng.Start + oTmpRng.Length, _
oTxtRng.Length)
Set oTmpRng = oTxtRng.Replace(FindWhat:="like", _
Replacewhat:="NOT LIKE", WholeWords:=True)
Loop
Next oShp
End Sub
См. также
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.