每个键均由一个或多个字符表示。 若要指定一个键盘字符,请使用该字符本身。 例如,若要表示字母 A,请使用 "A" 字符串。 若要表示多个字符,请将每个额外字符追加它前面的字符。 若要表示字母 A、B 和 C,请使用 "ABC" 字符串。

加号 ( + )、插字号 ( ^ )、百分号 ( % )、波形符 ( ~ ) 和圆括号 ( ) SendKeys 而言具有特殊的含义。 若要指定其中一个字符,请将它括在大括号 ( {} ) 。 例如,若要指定加号,请使用 {+}

方括号 ([ ]) 对 SendKeys 而言没有特殊的含义,但您必须用大括号将其括起来。 在其他应用程序中,在发生 动态数据交换 (DDE) 时,方括号具有重要的特殊含义。 若要指定大括号字符,请使用 {{} {}}

若要指定按某个键(如 ENTER 或 TAB)时不显示的字符,以及表示操作而不是字符的键,请使用下表中的代码:

若要指定在按其他一些键时应按下 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。