VBA 无模式窗体停止功能键
VBA modeless form stops Function Keys
我想在我的 Excel 程序中有自己的帮助文件。
在
Private Sub Workbook_Open()
我有
Application.OnKey "{F1}", "Help"
当我在 Excel sheet 上时,这是有效的,但我的应用程序基于无模式显示的全屏主用户窗体。
当用户窗体可见时,它会以某种方式阻止 F1 键并且宏不会触发。
我认为无模式窗体不会阻止代码执行。
有什么提示可以让我完成这项工作吗?
您需要在用户窗体本身上捕获 keyDown
事件。当用户窗体获得焦点时,无论您按什么键,它都会转到用户窗体。
'/UserForm1 is a sample name.
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 112 Then '/ F1
Call Help
End If
End Sub
我想在我的 Excel 程序中有自己的帮助文件。
在
Private Sub Workbook_Open()
我有
Application.OnKey "{F1}", "Help"
当我在 Excel sheet 上时,这是有效的,但我的应用程序基于无模式显示的全屏主用户窗体。
当用户窗体可见时,它会以某种方式阻止 F1 键并且宏不会触发。
我认为无模式窗体不会阻止代码执行。
有什么提示可以让我完成这项工作吗?
您需要在用户窗体本身上捕获 keyDown
事件。当用户窗体获得焦点时,无论您按什么键,它都会转到用户窗体。
'/UserForm1 is a sample name.
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 112 Then '/ F1
Call Help
End If
End Sub