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


Метод 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

См. также

Объект TextRange

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.