vba窗体中的很多控件可以响应键盘事件。
vba窗体中的键盘事件分别有KeyDown、 KeyUp、KeyPress3种。
这3种事件的语法如下:
Private Subobject KeyDown( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState) Private Subobject _KeyUp( ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As fmShiftState) Private Subobject _KeyPress( ByVal KeyANSI As MSForms.ReturnInteger)
它们都有一个参数代表按键的代码。
但是在书写代码时,我们往往无法获悉我们要表达的按键对应的这个参数的值是多少,查找帮助文档也没有列举出所有的按键对应的按键码的数值。
这里介绍两种方法:
方法一、在对象浏览器中先查找对应的按键码
单击F2,在对象浏览器中选择”VBA”库,找到KeyCodeConstants,如下图所示:
方法二、在写代码中直接用VBA.KeyCodeConstants中列出。
如下所示:
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger) If KeyAscii = VBA.KeyCodeConstants.vbKey0 Then MsgBox "您按下了数字0" End If End Sub
通过上述两种方法都可以快速地获取想要的按键对应的按键码的值。
发表评论