前言:
当前兄弟们对“vba键盘事件keydown”大约比较着重,看官们都需要剖析一些“vba键盘事件keydown”的相关内容。那么小编也在网上搜集了一些关于“vba键盘事件keydown””的相关资讯,希望我们能喜欢,看官们一起来学习一下吧!Excel VBA事件一般都是与对象(Application、Workbook、Sheet等)相关连的,Excel VBA也可以访问与对象无关连的事件:OnTime和OnKey。
1 OnTime事件
OnTime事件在一天中的某特定时刻发生:
Dim NextTick As DateSub UpdateClock()' Updates cell A1 with the current time ThisWorkbook.Sheets(1).Range("A1") = Time' Set up the next event five seconds from now NextTick = Now + TimeValue("00:00:05") Application.OnTime NextTick, "UpdateClock"End SubSub StopClock()' Cancels the OnTime event (stops the clock) On Error Resume Next Application.OnTime NextTick, "UpdateClock", , FalseEnd Sub
也可以是某个日期的某个时刻:
Application.OnTime DateSerial(2019,9,1)+TimeValue("00:00:01"), "过程名"
2 OnKey事件
在工作时,Excel会始终监视用户输入的内容。因此,可以设定按键或按键组合,当其按下时,会执行特定过程(相当于宏的快捷键指定)。(这些按键不被识别的唯一情况是正在输入一个公式或使用对话框时)
Sub PressKeytoRun() MsgBox"按下Ctrl+D后将执行程序「testFullScreen」" Application.OnKey"^{d}","testFullScreen" '前面是按钮,后面是过程名 End Sub Sub ResetKey() MsgBox "恢复原来的按键状态" Application.OnKey "^{d}" '后面没有过程名,表示取消OnKey事件 End SubSub testFullScreen() 'OnKey事件对应的过程 MsgBox "运行后将Excel的显示模式设置为全屏幕" Application.DisplayFullScreen = True MsgBox "恢复为原来的状态" Application.DisplayFullScreen = FalseEnd Sub
Onkey方法的作用主要是指定特定的键,当按下指定的键时运行相应的宏程序,或者按下指定的键时,使Excel屏蔽特定的功能。
或者:
Option ExplicitSub Setup_OnKey() Application.OnKey "{PgDn}", "PgDn_Sub" '前面是按钮,后面是过程名 Application.OnKey "{PgUp}", "PgUp_Sub" MsgBox "PgUp and PgDown have been re-mapped."End SubSub Cancel_OnKey() Application.OnKey "{PgDn}" '后面没有过程名,表示取消OnKey事件 Application.OnKey "{PgUp}" MsgBox "PgUp and PgDown have been restored to normal."End SubSub PgDn_Sub() 'OnKey事件对应的过程 On Error Resume Next ActiveCell.Offset(1, 0).ActivateEnd SubSub PgUp_Sub() 'OnKey事件对应的过程 On Error Resume Next ActiveCell.Offset(-1, 0).ActivateEnd Sub
注意与SendKeys区分:
Sub SendKeysSample() Application.SendKeys ("%fx") End Sub
本示例使用SendKeys方法退出Excel,若未保存,则会弹出提示对话框并让用户作出相应的选择。SendKeys方法的作用是摸拟键盘输入,如例中的“%fx”表示在Excel中同时按下Alt、F和X三个键。
-End-
标签: #vba键盘事件keydown