Share via


TextRange.Replace Method

Finds specific text in a text range, replaces the found text with a specified string, and returns a TextRange object that represents the first occurrence of the found text. Returns Nothing if no match is found.

Namespace:  Microsoft.Office.Interop.PowerPoint
Assembly:  Microsoft.Office.Interop.PowerPoint (in Microsoft.Office.Interop.PowerPoint.dll)

Syntax

'Declaration
Function Replace ( _
    FindWhat As String, _
    ReplaceWhat As String, _
    After As Integer, _
    MatchCase As MsoTriState, _
    WholeWords As MsoTriState _
) As TextRange
'Usage
Dim instance As TextRange
Dim FindWhat As String
Dim ReplaceWhat As String
Dim After As Integer
Dim MatchCase As MsoTriState
Dim WholeWords As MsoTriState
Dim returnValue As TextRange

returnValue = instance.Replace(FindWhat, _
    ReplaceWhat, After, MatchCase, WholeWords)
TextRange Replace(
    string FindWhat,
    string ReplaceWhat,
    int After,
    MsoTriState MatchCase,
    MsoTriState WholeWords
)

Parameters

  • ReplaceWhat
    Type: System.String
    The text you want to replace the found text with.
  • After
    Type: System.Int32
    The position of the character (in the specified text range) after which you want to search for the next occurrence of FindWhat. For example, if you want to search from the fifth character of the text range, specify 4 for After. If this argument is omitted, the first character of the text range is used as the starting point for the search.

Return Value

Type: Microsoft.Office.Interop.PowerPoint.TextRange
TextRange

Remarks

The MatchCase parameter value can be one of these MsoTriState constants.

Constant

Description

msoFalse

The default. Does not distinguish between uppercase and lowercase characters.

msoTrue

Distinguish between uppercase and lowercase characters.

The WholeWords parameter value can be one of these MsoTriState constants.

Constant

Description

msoFalse

The default. Does not find only entire words.

msoTrue

Finds only entire words.

Examples

This example replaces every whole-word occurrence of "like" in all of the shapes in the active presentation with "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

See Also

Reference

TextRange Interface

TextRange Members

Microsoft.Office.Interop.PowerPoint Namespace