VBA - клик по кнопке с нажатой клавишей

  • Автор темы Автор темы Oleg_Sh
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Oleg_Sh

Топикстартер
15 лет на форуме
Сообщения
184
Реакции
54
На тулбаре есть кнопка запускающая определенный макрос на VB. Можно ли как-то определить из этого макроса была ли нажата клавиша при клике по кнопке.
 
Ответ: VBA - клик по кнопке с нажатой клавишей

Oleg_Sh сказал(а):
На тулбаре есть кнопка запускающая определенный макрос на VB. Можно ли как-то определить из этого макроса была ли нажата клавиша при клике по кнопке.
Видимо нужно отслеживать Shift, Ctrl, Alt?
Тогда через API:
Код:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Integer
Function CtrlKey() As Boolean
    CtrlKey = (GetAsyncKeyState(vbKeyControl) And &H8000)
End Function
Function ShiftKey() As Boolean
    ShiftKey = (GetAsyncKeyState(vbKeyShift) And &H8000)
End Function
Function AltKey() As Boolean
    AltKey = (GetAsyncKeyState(vbKeyMenu) And &H8000)
End Function
И в нужном месте:
Код:
 If CtrlKey() Then ...
 
Ответ: VBA - клик по кнопке с нажатой клавишей

Спасибо, попробую
 
Статус
Закрыто для дальнейших ответов.