VBA无模式窗体停止功能键

时间:2017-01-20 15:30:30

标签: excel vba excel-vba modeless

我想在我的Excel程序中拥有自己的帮助文件。

Private Sub Workbook_Open()

我有

Application.OnKey "{F1}", "Help"

当我在Excel工作表上,但我的应用程序基于全屏主用户窗体时显示无模式。

当用户窗体可见时,它会以某种方式阻止 F1 键,并且宏不会触发。

我认为无模式表单不会阻止代码执行。

任何提示如何才能使这项工作?

1 个答案:

答案 0 :(得分:5)

您需要在UserForm本身上捕获keyDown事件。当UserForm获得焦点时,无论你按哪个键都会转到UserForm。

'/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