当按特定键或特定的组合键时运行指定的过程。
语法
表达式。OnKey (密钥、 过程)
expression:表示 Application 对象的变量。
参数
| 名称 | 必需/可选 | 数据类型 | 说明 |
|---|---|---|---|
| Key | 必需 | 字符串 | 表示要按的键的字符串。 |
| 步骤 | 可选 | Variant | 表示要运行的过程名称的字符串。 如果 Procedure 为空文本 (""),则按 Key 时不发生任何操作。 该格式的 OnKey 将更改键击在 Microsoft Excel 中产生的正常结果。 如果省略 Procedure 参数,则 Key 恢复为 Microsoft Excel 中的正常结果,同时清除先前使用 OnKey 方法所做的特殊键击设置。 |
备注
Key 参数可以指定与 Alt、Ctrl 或 Shift 组合的任何单个键,也可以指定这些键的任意组合。 每个键均可用一个或多个字符表示,例如,a 表示字符 a,{ENTER} 表示 Enter 键。
若要指定按相应键时未显示的字符, (例如:Enter 或 Tab) ,请使用下表中列出的代码。 表中的每个代码表示键盘上的一个键。
| 键 | 代码 |
|---|---|
| Backspace | {BACKSPACE} 或 {BS} |
| Break | {BREAK} |
| Caps Lock | {CAPSLOCK} |
| 清除 | {CLEAR} |
| Delete 或 Del | {DELETE} 或 {DEL} |
| 向下键 | {DOWN} |
| 结束 | {END} |
| Enter(数字小键盘) | {ENTER} |
| Enter | ~(波形符) |
| Esc | { ESCAPE} 或 {ESC} |
| 帮助 | {HELP} |
| 主页 | {HOME} |
| Ins | {INSERT} |
| 向左键 | {LEFT} |
| Num Lock | {NUMLOCK} |
| PageDown | {PGDN} |
| PageUp | {PGUP} |
| Return | {RETURN} |
| 向右键 | {RIGHT} |
| Scroll Lock | {SCROLLLOCK} |
| Tab | {TAB} |
| 向上键 | {UP} |
| F1 到 F15 | {F1} 到 {F15} |
还可以结合 Shift 和/或 Ctrl 和/或 Alt 和/或 Command 指定键。 要指定与其他键组合使用的键,请使用下表。
| 要组合的键 | 在键代码之前添加 |
|---|---|
| Shift | +(加号) |
| Ctrl | ^(插入符号) |
| Alt | %(百分号) |
| 命令 | * (星号) 仅适用于 Mac;可能仅适用于 Excel 2011 for Mac,不适用于更高版本。 |
若为特定字符指定处理过程(如 +、^、% 等等),可将此字符用圆括号括起。 有关详细信息,请参阅示例。
注意
当前无法在最新版本的 Office VBA 中检测命令密钥。 Microsoft 已意识到这一点,并正在调查此事。
示例
本示例将 InsertProc 分配给键序列 Ctrl+加号,并将 SpecialPrintProc 分配给键序列 Shift+Ctrl+向右键。
Application.OnKey "^{+}", "InsertProc"
Application.OnKey "+^{RIGHT}", "SpecialPrintProc"
本示例将 Shift+Ctrl+向右键返回其正常含义。
Application.OnKey "+^{RIGHT}"
此示例禁用 Shift+Ctrl+向右键序列。
Application.OnKey "+^{RIGHT}", ""
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。