How to: Programmatically set search options in Word

There are two ways to set search options for selections in Microsoft Office Word documents:

Use properties of a Find object

The following code sets properties of a Find object to search for text within the current selection. Notice that the search criteria, such as searching forward, wrapping, and text to search for, are properties of the Find object.

Setting each of the properties of the Find object is not useful when you write C# code because you must specify the same properties as parameters in the Execute method. Therefore this example contains only Visual Basic code.

To set search options using a Find object

  1. Set the properties of a Find object to search forward through a selection for the text find me.

    With Application.Selection.Find
        .ClearFormatting()
        .Forward = True
        .Wrap = Word.WdFindWrap.wdFindContinue
        .Text = "find me"
        .Execute()
    End With
    

Use Execute method arguments

The following code uses the Execute method of a Find object to search for text within the current selection. Notice that the search criteria, such as searching forward, wrapping, and text to search for, are passed as parameters of the Execute method.

To set search options using Execute method arguments

  1. Pass search criteria as parameters of the Execute method to search forward through a selection for the text find me.

    With Application.Selection.Find
        .ClearFormatting()
        .Execute(FindText:="find me", Forward:=True, Wrap:=Word.WdFindWrap.wdFindContinue)
    End With
    
    Application.Selection.Find.ClearFormatting(); 
    Application.Selection.Find.Execute("find me", Forward:true, Wrap:Word.WdFindWrap.wdFindContinue);
    

See also