SendKeys 语句
向活动窗口发送一个或多个键击,就像按键盘上的按键一样。
语法
SendKeys字符串, [ wait ]
SendKeys 语句语法包含以下命名参数:
Part | 说明 |
---|---|
string | 必需。 指定要发送的键击的字符串表达式。 |
等 | 可选。 指定等待模式的 Boolean 值。 如果为 False(默认),则控制权在发送键击后将立即返回到过程。 如果为 True,则必须先处理键击,然后控制权才能返回到过程。 |
备注
每个键均由一个或多个字符表示。 若要指定一个键盘字符,请使用该字符本身。 例如,若要表示字母 A,请使用 "A"
字符串。 若要表示多个字符,请将每个额外字符追加它前面的字符。 若要表示字母 A、B 和 C,请使用 "ABC"
字符串。
加号 (+)、插字号 (^)、百分号 (%)、波形符 (~) 和圆括号 ( ) 对 SendKeys 而言具有特殊的含义。 若要指定其中一个字符,请将它括在大括号 ({}
) 。 例如,若要指定加号,请使用 {+}
。
方括号 ([ ]) 对 SendKeys 而言没有特殊的含义,但您必须用大括号将其括起来。 在其他应用程序中,在发生动态数据交换 (DDE) 时,方括号具有重要的特殊含义。 若要指定大括号字符,请使用 {{}
和 {}}
。
若要指定按某个键(如 ENTER 或 TAB)时未显示的字符,以及表示操作而不是字符的键,请使用下表中的代码:
键 | 代码 |
---|---|
Backspace |
{BACKSPACE} 、 {BS} 、 或 {BKSP} |
Break | {BREAK} |
Caps Lock | {CAPSLOCK} |
Del 或 DELETE |
{DELETE} 或 {DEL} |
向下键 | {DOWN} |
结束 | {END} |
Enter |
{ENTER} 或 ~ |
Esc | {ESC} |
帮助 | {HELP} |
主页 | {HOME} |
Ins 或 Insert |
{INSERT} 或 {INS} |
向左键 | {LEFT} |
Num Lock | {NUMLOCK} |
PageDown | {PGDN} |
PageUp | {PGUP} |
Print Screen | {PRTSC} |
向右键 | {RIGHT} |
Scroll Lock | {SCROLLLOCK} |
Tab | {TAB} |
向上键 | {UP} |
F1 | {F1} |
F2 | {F2} |
F3 | {F3} |
F4 | {F4} |
F5 | {F5} |
F6 | {F6} |
F7 | {F7} |
F8 | {F8} |
F9 | {F9} |
F10 | {F10} |
F11 | {F11} |
F12 | {F12} |
F13 | {F13} |
F14 | {F14} |
F15 | {F15} |
F16 | {F16} |
若要指定与 Shift、Ctrl 和 Alt 键的任意组合结合在一起的键,请在键代码前面添加以下一个或多个代码:
键 | 代码 |
---|---|
Shift | + |
Ctrl | ^ |
Alt | % |
若要指定在按其他一些键时应按下 Shift、Ctrl 和 Alt 键的任意组合,请用圆括号将这些键的代码括起来。 例如,若要指定在按下 E 和 C 时按住 SHIFT,请使用 +(EC)
。
若要指定重复键,请使用格式 {key number}
。 必须在 和 number
之间key
放置一个空格。 例如, {LEFT 42}
表示按向左键 42 次; {h 10}
表示按 H 10 次。
注意
您无法使用 SendKeys 向未设计为在 Microsoft Windows 或 Macintosh 中运行的应用程序发送键击。
发送密钥 也无法将 PRINT SCREEN 密钥 {PRTSC}
发送到任何应用程序。
示例
此示例使用 Shell 函数运行 Microsoft Windows 附带的 Calculator 应用程序。 它使用 SendKeys 语句发送击键以添加一些数字,然后退出计算器。 (若要查看示例,请将其粘贴到过程中,然后运行过程。由于 AppActivate 将焦点更改为计算器应用程序,因此无法单步执行 code.)
在 Macintosh 上,使用接受键盘输入的 Macintosh 应用程序而非 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.
另请参阅
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。