Событие KeyPress не выполняется вне редактора VBA в MS Word - PullRequest
0 голосов
/ 19 марта 2019

У меня есть код VBA и часть кода, в частности, событие нажатия клавиши пробела работает (хотя и не всегда), когда оно запускается в редакторе VBA в MS Word. Но снаружи, т.е. если я включаю модуль в normal.dotm или помещаю его как .dotm в папку STARTUP в MS Word, затем назначаю макрос кнопке в MS Word и пытаюсь запустить его, код не работает должным образом. Код работает, но часть, которая обрабатывает событие нажатия клавиши пробела, - нет.

Я использую MS Office 2010 версии 14.0.7229.5000 (64-разрядная версия). Если это имеет значение, все приложения MS Office запускаются на сервере, и мы являемся клиентами, которые обращаются к приложениям по протоколу RDP.

Декларация часть

    #If VBA7 Then
    Private Declare PtrSafe Function GetAsyncKeyState Lib "user32" (ByVal vKey As 
    Long) As Integer
    #End If
    Private Const VK_SPACE = &H20

и часть, которая должна обрабатывать событие нажатия клавиши

    Do Until GetAsyncKeyState(VK_SPACE)
        'exit when Spacebar key is pressed
        DoEvents
    Loop
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...