Метод TextRange.Replace (PowerPoint)

Находит определенный текст в текстовом диапазоне, заменяет найденный текст указанной строкой и возвращает объект TextRange , представляющий первое вхождение найденного текста. Ничего не возвращает, если совпадения не найдены.

Синтаксис

выражение. Replace(Найти,ЗаменитьЧто, После, MatchCase, WholeWords)

выражение Переменная, представляющая объект TextRange .

Параметры

Имя Обязательный или необязательный Тип данных Описание
Поиск Обязательный String Текст для поиска.
ЗаменитьWhat Обязательный String Текст, которым нужно заменить найденный текст.
After Необязательный Integer Позиция символа (в указанном текстовом диапазоне), после которой необходимо выполнить поиск следующего экземпляра FindWhat. Например, если поиск выполняется по пятому символу текстового диапазона, укажите значение 4 для поля После. Если этот аргумент опущен, то в качестве отправной точки поиска будет использоваться первый символ текстового диапазона.
MatchCase Необязательный MsoTriState Определяет, проводится ли различие на основе регистра.
WholeWords Необязательный MsoTriState Определяет, будут ли найдены слова целиком.

Возвращаемое значение

TextRange

Примечания

Значение параметра MatchCase может быть одной из этих констант MsoTriState .

Константа Описание
msoFalse Значение по умолчанию. Не различает буквы верхнего и нижнего регистра.
msoTrue Проводите различие между прописными и строчными буквами.

Значение параметра WholeWords может быть одной из этих констант MsoTriState .

Константа Описание
msoFalse Значение по умолчанию. Не находит только целые слова.
msoTrue Находит только целые слова.

Пример

В этом примере все вхождения слова "нравится" во всех фигурах активной презентации заменяются на "НЕ НРАВИТСЯ".

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