У меня есть код 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