Article ID: 110891
Article Last Modified on 10/10/2006
APPLIES TO
- Microsoft Excel 97 Standard Edition
This article was previously published under Q110891
SYMPTOMS
In Microsoft Excel, if you use both the SendKeys statement and the Application.SendKeys method in a Visual Basic procedure, the order in which the keystrokes run may be different than the order of the keystroke commands in your procedure.
CAUSE
In a Visual Basic procedure, the Application.SendKeys method is run before the SendKeys statement.
WORKAROUND
To ensure that the keystrokes you send using SendKeys in a Visual Basic procedure run in the correct order, do one of the following:
- Use either the Application.SendKeys method or the built-in SendKeys statement, but not both in the same procedure. -or-
Use the Wait argument with both the SendKeys commands. When you use the Wait argument, all the keys in the SendKeys command run before the next line in the procedure runs. The following is an example of using the wait argument with the built-in SendKeys statement:
SendKeys "{enter}", True
The following is an example of using the Wait argument with the SendKeys method:
Application.SendKeys "{enter}", True
MORE INFORMATION
The SendKeys command is available both as a built-in Visual Basic statement, and as a method of the Microsoft Excel Application object. You can use either SendKeys command to send keystrokes to the active window. This command is useful when you want to send commands to another application that does not support linking, embedding, OLE Automation, or dynamic data exchange (DDE). The two commands provide the same general functionality, one exception being the order in which they are run when used in the same procedure as described above.
REFERENCES
"Visual Basic User's Guide," version 5.0, pages 214-215
For more information about the SendKeys Method or the SendKeys Statement, click the Search button in the Visual Basic Reference and type:
SendKeys
Additional query words: 8.00 97 XL
Keywords: kbprogramming KB110891