Microsoft KB Archive/98874

{|
 * width="100%"|

EditFind and EditSearch Not Working As Expected

 * }

Q98874

-

The information in this article applies to:


 * Microsoft Word for Windows, versions 1.0, 1.1, 1.1a, 2.0, 2.0a, 2.0a-CD, 2.0b, 2.0c, 6.0, 6.0a, 6.0c
 * Microsoft Word for Windows, version 7.0

-

SUMMARY
If a search direction is not specified with the Microsoft WordBasic EditSearch or EditFind statements, the search routine may exhibit erratic behavior. The search statement may find the next instance of a search string, the previous instance, or nothing at all. This behavior occurs because the search function of Word for Windows remembers the last direction and uses this as the default for the next search.

MORE INFORMATION
The following WordBasic statements behave differently depending on the current search direction and the position of the insertion point.

Word for Windows 2.x and later
EditFind .Find = &quot;Word&quot;

Word for Windows 1.x
EditSearch .Search = &quot;Word&quot;

Values for the .Direction Parameter
  Value     Direction of Search -  0 (zero)  Searches toward the end of the document. 1        Searches toward the beginning of the document. The default is the direction used in the previous search or 0 (zero) the first time the Find or Replace command is run.

Word for Windows 2.x and later
  Value     Direction of Search -  0 (zero)  Searches backwards toward beginning of document, without prompt 1        Searches forward toward end of document, with prompt 2        Searches forward toward end of document, without prompt To force a consistent search, always specify the direction to search. For example, the following macro will always search upwards towards the beginning of the document from the insertion point:

Sub Main EditFind .Find = &quot;Word&quot;, .Direction = 0 End Sub To search the entire document, move the insertion point to the beginning of the document and set the direction parameter to 2 (search forward without prompt).

Sub Main StartOfDocument EditFind .Find = &quot;Word&quot;, .Direction = 2 End Sub