Access to this page requires authorization. You can try
.
Access to this page requires authorization. You can try
Sends one or more keystrokes to the active window as if typed at the keyboard.
Syntax
SendKeys
string
, [
wait
]
The
SendKeys
statement syntax has these
named arguments
:
Description
Each key is represented by one or more characters. To specify a single keyboard character, use the character itself. For example, to represent the letter A, use
"A"
for
string
. To represent more than one character, append each additional character to the one preceding it. To represent the letters A, B, and C, use
"ABC"
for
string
.
The plus sign (
+
), caret (
^
), percent sign (
%
), tilde (
~
), and parentheses
( )
have special meanings to
SendKeys
. To specify one of these characters, enclose it within braces (
{}
). For example, to specify the plus sign, use
{+}
.
Brackets ([ ]) have no special meaning to
SendKeys
, but you must enclose them in braces. In other applications, brackets do have a special meaning that may be significant when
dynamic data exchange
(DDE) occurs. To specify brace characters, use
{{}
and
{}}
.
To specify characters that aren't displayed when you press a key, such as ENTER or TAB, and keys that represent actions rather than characters, use the codes in the following table:
To specify that any combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, enclose the code for those keys in parentheses. For example, to specify to hold down SHIFT while E and C are pressed, use
+(EC)
.
To specify repeating keys, use the form
{key number}
. You must put a space between
key
and
number
. For example,
{LEFT 42}
means press the LEFT ARROW key 42 times;
{h 10}
means press H 10 times.
You can't use
SendKeys
to send keystrokes to an application that is not designed to run in Microsoft Windows or Macintosh.
Sendkeys
also can't send the PRINT SCREEN key
{PRTSC}
to any application.
Example
This example uses the
Shell
function to run the Calculator application included with Microsoft Windows. It uses the
SendKeys
statement to send keystrokes to add some numbers and then quit the Calculator. (To see the example, paste it into a procedure, and then run the procedure. Because
AppActivate
changes the focus to the Calculator application, you can't single step through the code.)
On the Macintosh, use a Macintosh application that accepts keyboard input instead of the Windows Calculator.
Dim ReturnValue, I
ReturnValue = Shell("CALC.EXE", 1) ' Run Calculator.
AppActivate ReturnValue ' Activate the Calculator.
For I = 1 To 100 ' Set up counting loop.
SendKeys I & "{+}", True ' Send keystrokes to Calculator
Next I ' to add each value of I.
SendKeys "=", True ' Get grand total.
SendKeys "%{F4}", True ' Send ALT+F4 to close Calculator.
See also
Data types
Statements
Support and feedback
Have questions or feedback about Office VBA or this documentation? Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.