ID: Q52159
The information in this article applies to:
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 "C:\winword" ' Change Directory
FileOpen "test.doc" ' File Open dialog box.
SendKeys "{Enter}", -1 ' Send the Enter key.
End Sub
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.
In the example, the SendKey "{Enter}" 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 "C:\winword"
SendKeys "{Enter}", -1 ' Send the Enter Key.
FileOpen "test.doc" ' 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
Version : WINDOWS:1.0,1.1,1.1a,2.0,2.0a,2.0a- CD,2.0b,2.0c,6.0,6.0a,6.0c,7.0,7.0a; MACINTOSH:6.0,6.0.1,6.0.1a
Platform : MACINTOSH Win95 WINDOWS winnt
Issue type : kbprb
Last Reviewed: February 3, 1998