VBA第三十四期 VBA中怎么用OnKey事件
我们在VBA设计中经常需要使用到OnKey方法,特别是在窗口设计中比如我们想用到翻页按键,则就可以来建立一个OnKey事件。Setup_OnKey过程运行以后,就会达到最终效果,按PgDn键会将指针下移一行,按PgUp键会将指针上移一行。使用PgUp和PgDn的按键组合不受影响。所以,诸如Curl+PgDn的组合键仍会激活工作簿中的下一个工作表。该事件重新指定了PgDn和PgUp键。执行
Sub Setup_OnKey ()
Application. OnKey" (PgDn) ", "PgDn_Sub"
Application. OnKey " (PgUp) ", "PgUp_Sub"
End Sub
Sub PgDn_Sub ()
On Error Resume Next
ActiveCell. Offset (1, 0) . Activate
End Sub
Sub PgUp_Sub ()On Error Resume Next
ActiveCell. Offset (-1, 0).Activate
End Sub
在上面的示例中,使用On Error Resume Next语句来忽略生成的所有错误。例如,如果活动单元格位于第一行,那么上移一行会引起错误。同样,如果活动工作表是一个图表工作表,那么也会发生错误,因为在图表工作表中没有活动单元格。当然程序结束前我们还要编写一个过程,将OnKey事件取消,将这些按键恢复到正常的功能。
OnKey事件的按键代码表格如下:
按键 | 代码 |
BacAspaceBacAspace | (BACKSPACE)或(BS) |
BroakBroak | (BREAK) |
Caps LockCaps Lock | (CAPSLOCK) |
Delete or DelDelete or Del | (DELETE)或(DEL) |
向下請头 | (DOWN) |
End | (END) |
Emter | ~(领化符号) |
Enter(数字健区中) | (ENTER) |
Escape | (ESCAPE)或(ESC) |
Home | (HOME) |
Ins | (INSERT) |
向左薪头 | (LEFT) |
NumLock | (NUMLOCK) |
Page Down | (PGDN) |
Page Up | (PGUP) |
向右箭头 | (RIGHT) |
Scroll Lock | (SCROLLLOCK) |
Tab | (TAB) |
向上箭头 | (UP) |
F1至F15 | (F1)至(F15) |
有时候我们为了避免习惯性按键带来误操作,我们还可指定Shift、Ctrl和Alt等组合键。要指定将某个键与其他键组合使用,则使用下列符号:
Shift:加号(+)Ctrl:脱字符号(^)Alt:百分号(%)
例如,要给Ctrl+Shift+A组合键指派一个过程,则使用下列代码:
Application. OnKey "^+A", "SubName"
要给Alt+F11组合键指派一个过程(通常用来切换到VBE窗口),则使用下列代码:
Application. OnKey "^ (F11) ", "SubName"