Microsoft KB Archive/110891

= SendKeys Method Runs Before Built-In SendKeys Statement =

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.

