EXCEL VBAメモ - Windowsライブラリの機能を呼ぶ
こんなこともできるということで、各DLLにどんな機能が入っているか知ってないと使えませんが。。。
64bitと32bit環境で宣言の仕方が微妙に違うので注意。
参考
Option Explicit '64bit PC Private Declare PtrSafe Sub Sleep Lib "kernel32.dll" (ByVal ms As LongPtr) Private Declare PtrSafe Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As LongPtr) As Long '32bit PC 'Private Declare Sub Sleep Lib "kernel32.dll" (ByVal ms As Long) 'Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Long Sub sleepSample() ' Sleepサンプル Sleep 2000 MsgBox "2秒間経過" End Sub Sub keyInputSample() ' キー入力サンプル ' Qキー押下で停止 Do If GetAsyncKeyState(vbKeyLeft) <> 0 Then MsgBox "←キーが押されました" If GetAsyncKeyState(vbKeyUp) <> 0 Then MsgBox "↑キーが押されました" If GetAsyncKeyState(vbKeyRight) <> 0 Then MsgBox "→キーが押されました" If GetAsyncKeyState(vbKeyDown) <> 0 Then MsgBox "↓キーが押されました" If GetAsyncKeyState(vbKeyQ) <> 0 Then Exit Do ' Qキー Call Sleep(1) DoEvents Loop MsgBox "終了" End Sub