Microsoft KB Archive/52159

{|
 * width="100%"|

WD: Using SendKeys with Dialog Boxes in WordBasic

 * }

Q52159

-

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, versions 7.0, 7.0a
 * Microsoft Word for the Macintosh, versions 6.0, 6.0.1

-

SYMPTOMS
When you use the SendKeys function after calling a dialog box, your macro does not run as expected. For example, the following macro does not run correctly:

  Sub MAIN ChDir &quot;C:\winword&quot;          ' Change Directory FileOpen &quot;test.doc&quot;         ' File Open dialog box. SendKeys &quot;{Enter}&quot;, -1      ' Send the Enter key. End Sub

CAUSE
WordBasic code is processed one line at a time. The SendKeys function sends the specified keys to the active application, just as if they were typed at the keyboard. If Word is not the active program and Wait is set to -1, Word will wait for all the keys to be processed before proceeding.

Whenever a Word dialog box is opened, it becomes the active foreground application and is ready to take commands; it also must be terminated (with OK or Cancel) before the next line can be processed.

WORKAROUND
In the example, the SendKey &quot;{Enter}&quot; command should come before the FileOpen command so that the File dialog box can process the keys and close. Then, the next line of code can be processed.

  Sub MAIN ChDir &quot;C:\winword&quot; SendKeys &quot;{Enter}&quot;, -1      ' Send the Enter Key. FileOpen &quot;test.doc&quot;         ' File Open Dialog box. End Sub Word waits for the dialog box to open, and then it sends the ENTER key to the FileOpen dialog box.

Additional query words: window

Keywords : kbmacro wordnt winword ntword macword word6 winword2 word7 word95

Issue type : kbprb

Technology :