keybd_event

Public Declare Sub keybd_event Lib "user32" ( _
ByVal bVk As Byte, _
ByVal bScan As Byte, _
ByVal dwFlags As Long, _
ByVal dwExtraInfo As Long)

'bVk: Keycode
'bScan: Scancode、常に0
'dwFlags: 0:キーを押す / 1:0xE0を追加 / 2:キーを放す
'dwExtraInfo:常に0

Const EXTENDED_KEY = &H1 '押す > dwFlagsに入れる
Const KEYUP = &H2 '放す > dwFlagsに入れる

Public Declare Function MapVirtualKey Lib "user32" Alias "MapVirtualKeyA" (ByVal wCode As Long, ByVal wMapType As Long) As Long


Function open_office_clipboard()

keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyW, 0, 0, 0
keybd_event vbKeyMenu, 0, KEYUP, 0
keybd_event vbKeyW, 0, KEYUP, 0

keybd_event vbKeyDown, 0, 0, 0
keybd_event vbKeyDown, 0, KEYUP, 0
keybd_event vbKeyDown, 0, 0, 0
keybd_event vbKeyDown, 0, KEYUP, 0
' keybd_event vbKeyDown, 0, 0, 0
' keybd_event vbKeyDown, 0, KEYUP, 0

End Function

Sub test2()

keybd_event vbKeyMenu, 0, 0, 0
keybd_event vbKeyW, 0, 0, 0
keybd_event vbKeyMenu, 0, KEYUP, 0
keybd_event vbKeyW, 0, KEYUP, 0

keybd_event MapVirtualKey(80, 1), 0, 0, 0
keybd_event MapVirtualKey(80, 1), 0, KEYUP, 0
keybd_event MapVirtualKey(80, 1), 0, 0, 0
keybd_event MapVirtualKey(80, 1), 0, KEYUP, 0
keybd_event MapVirtualKey(80, 1), 0, 0, 0
keybd_event MapVirtualKey(80, 1), 0, KEYUP, 0

End Sub

 

Sub test1()
'スキャンコードへ
Debug.Print MapVirtualKey(vbKeyDown, 0)
End Sub