Vba: события KeyDown перестает работать после нажатия кнопки - PullRequest
0 голосов
/ 04 июля 2018

Извините за вопрос. Я читаю 3 часа и пока не могу решить. Как я могу сделать форму, чтобы ответить на события KeyDown снова после нажатия кнопки мыши. Сначала он отвечает, например, на букву «n» на клавиатуре. Но если пользователь выберет кнопку Keydown, события больше не будут срабатывать. Я попытался вызвать код, который устанавливает мою форму для ожидания событий нажатия клавиш, но это не работает.

Private Sub Btn_NextStudent_Click()
    MsgBox "You clicked the button" 
    'GETS READY FOR KEYDOWN EVENTS AGAIN (*****THIS DOESN'T WORK*****)
    TabstopFocusOnClick      
End Sub

Private Sub UserForm_Initialize()   
    'PREPARAR CONTROLES PARA LOS EVENTOS KEYDOWN
    TabstopFocusOnClick         
End Sub

Sub TabstopFocusOnClick()
    Dim I As Integer

    '''PARA USAR EVENTOS DE TECLAS PRESIONADAS EN EL TECLADO
    On Error Resume Next
    For I = 0 To Controls.Count - 1   ' Use the Controls collection
        Controls(I).TabStop = False
        Controls(I).TakeFocusOnClick = False
    Next
End Sub

Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    'AL PRESIONAR "N" 
    If KeyCode = 78 Then
        Btn_NextStudent_Click
    End If        
End Sub
...