2017-01-20 1 views
5

내 Excel 프로그램에서 내 도움말 파일을 갖고 싶습니다.VBA 모덜리스 폼이 기능 키를 중지합니다

Private Sub Workbook_Open() 

에서

나는 엑셀 시트에있을 때 작동하지만 내 응용 프로그램이 모덜리스를 표시하는 전체 화면의 주요 사용자 정의 폼을 기반으로 그

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

있습니다.

userform이 표시되면 F1 키가 어떻게 든 차단되어 매크로가 실행되지 않습니다.

모덜리스 폼이 코드 실행을 차단하지 않았다고 생각했습니다.

이 힌트는 어떻게 만들 수 있습니까?

답변

5

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 
+1

코드가 유용합니다. – harun24hr

+0

그것에 대해 신경 쓰지 않았습니다. 고마워. Unfortunatelly 이것은 작동하지 않는다. 나는'Keydown'' KeyUp'과'KeyPress'를 잡아려고했다. 전체 화면으로 표시된 양식의 키보드를 사용할 때 해고 된 것은 없습니다. 양식에 포커스가없는 것처럼 보입니다. 시작하기. 양식이 전체 화면으로 표시됩니다. 양식에 이미지 몇 장이 있고 큰 틀에 몇 개의 컨트롤이 있습니다. 그게 전부입니다. – Sphinx