FindReplace Object

Microsoft Publisher Visual Basic

FindReplace Object

Multiple objects FindReplace
TextRange

Represents the criteria for a find operation. The properties and methods of the FindReplace object correspond to the options in the Find and Replace dialog box.

Using the FindReplace Object

Use the Find property to return a FindReplace object. The following example selects the next occurrence of the word "factory".

    With ActiveDocument.Find
    .Clear
    .FindText = "factory"
    .Execute
End With
  

Set the ReplaceScope property to determine the extent of the search. The following example replaces the first occurrence of the name "Visual Basic Scripting Edition" with "VBScript".

    With ActiveDocument.Find
    .Clear
    .FindText = "Visual Basic Scripting Edition"
    .ReplaceWithText = "VBScript"
    .ReplaceScope = pbReplaceScopeOne
    .Execute
End With
  

Remarks

When the ReplaceScope property is set to pbReplaceScopeOne or pbReplaceScopeAll, the ReplaceWithText property must be set to avoid the text from being replaced with the default value of an empty String for that property.

Examples

The following example illustrates how the font attributes of the FoundTextRange can be accessed when ReplaceScope is set to pbReplaceScopeNone.

    Dim objFindReplace As FindReplace

Set objFindReplace = ActiveDocument.Find
With objFindReplace
    .Clear
    .FindText = "important"
    .ReplaceScope = pbReplaceScopeNone
    Do While .Execute = True
        If .FoundTextRange.Font.Italic = msoFalse Then
            .FoundTextRange.Font.Italic = msoTrue
        End If
    Loop
End With