<Excel, VBA> キー操作をシュミレート
キーボードkeyboard
のキーkey
を実行する。
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に入れる
で、
Function open_office_clipboard() keybd_event vbKeyMenu, 0, 0, 0 keybd_event vbKeyH, 0, 0, 0 keybd_event vbKeyF, 0, 0, 0 keybd_event vbKeyO, 0, 0, 0 keybd_event vbKeyMenu, 0, KEYUP, 0 keybd_event vbKeyH, 0, KEYUP, 0 keybd_event vbKeyF, 0, KEYUP, 0 keybd_event vbKeyO, 0, KEYUP, 0 End Function
とすると、
ALT
押す
H
押す
F
押す
O
押す
ALT
放す
H
放す
F
放す
O
放す
を呼び出すことになり、クリップボードを出せる。
キーコードkeycode
は下記。
F1~F16
Button | KeyCode | vbKey |
---|---|---|
F1 | 112 | vbKeyF1 |
F2 | 113 | vbKeyF2 |
F3 | 114 | vbKeyF3 |
F4 | 115 | vbKeyF4 |
F5 | 116 | vbKeyF5 |
F6 | 117 | vbKeyF6 |
F7 | 118 | vbKeyF7 |
F8 | 119 | vbKeyF8 |
F9 | 120 | vbKeyF9 |
F10 | 121 | vbKeyF10 |
F11 | 122 | vbKeyF11 |
F12 | 123 | vbKeyF12 |
F13 | 124 | vbKeyF13 |
F14 | 125 | vbKeyF14 |
F15 | 126 | vbKeyF15 |
F16 | 127 | vbKeyF16 |
0~9
Button | KeyCode | vbKey |
---|---|---|
0 | 48 | vbKey0 |
1 | 49 | vbKey1 |
2 | 50 | vbKey2 |
3 | 51 | vbKey3 |
4 | 52 | vbKey4 |
5 | 53 | vbKey5 |
6 | 54 | vbKey6 |
7 | 55 | vbKey7 |
8 | 56 | vbKey8 |
9 | 57 | vbKey9 |
0~9(テンキー)
Button | KeyCode | vbKey |
---|---|---|
0 | 96 | vbKeyNumpad0 |
1 | 97 | vbKeyNumpad1 |
2 | 98 | vbKeyNumpad2 |
3 | 99 | vbKeyNumpad3 |
4 | 100 | vbKeyNumpad4 |
5 | 101 | vbKeyNumpad5 |
6 | 102 | vbKeyNumpad6 |
7 | 103 | vbKeyNumpad7 |
8 | 104 | vbKeyNumpad8 |
9 | 105 | vbKeyNumpad9 |
* | 106 | vbKeyMultiply |
+ | 107 | vbKeyAdd |
Enter | 108 | vbKeySeparator |
- | 109 | vbKeySubtract |
. | 110 | vbKeyDecimal |
/ | 111 | vbKeyDivide |
A~Z
Button | KeyCode | vbKey |
---|---|---|
A | 65 | vbKeyA |
B | 66 | vbKeyB |
C | 67 | vbKeyC |
D | 68 | vbKeyD |
E | 69 | vbKeyE |
F | 70 | vbKeyF |
G | 71 | vbKeyG |
H | 72 | vbKeyH |
I | 73 | vbKeyI |
J | 74 | vbKeyJ |
K | 75 | vbKeyK |
L | 76 | vbKeyL |
M | 77 | vbKeyM |
N | 78 | vbKeyN |
O | 79 | vbKeyO |
P | 80 | vbKeyP |
Q | 81 | vbKeyQ |
R | 82 | vbKeyR |
S | 83 | vbKeyS |
T | 84 | vbKeyT |
U | 85 | vbKeyU |
V | 86 | vbKeyV |
W | 87 | vbKeyW |
X | 88 | vbKeyX |
Y | 89 | vbKeyY |
Z | 90 | vbKeyZ |
その他のボタン
Button | KeyCode | vbKey |
---|---|---|
BackSpace | 8 | vbKeyBack |
Tab | 9 | vbKeyTab |
Enter | 13 | vbKeyReturn |
Shift | 16 | vbKeyShift |
Ctrl | 17 | vbKeyControl |
Alt | 18 | vbKeyMenu |
Pause | 19 | vbKeyPause |
Esc | 27 | vbKeyEscape |
変換 | 28 | |
無変換 | 29 | |
スペース | 32 | vbKeySpace |
PgUp | 33 | vbKeyPageUp |
PgDown | 34 | vbKeyPageDown |
Home | 36 | vbKeyHome |
左 | 37 | vbKeyLeft |
上 | 38 | vbKeyUp |
右 | 39 | vbKeyRight |
下 | 40 | vbKeyDown |
Ins | 45 | vbKeyInsert |
Del | 46 | vbKeyDelete |
Win | 91 | |
ポップアップ | 93 | |
NumLock | 144 | vbKeyNumlock |
: | 186 | |
; | 187 | |
, | 188 | |
- | 189 | |
. | 190 | |
/ | 191 | |
@ | 192 | |
[ | 219 | |
\ | 220 | |
] | 221 | |
^ | 222 | |
\ | 226 |
[ツール]-[マクロ]->[Visual Basic Editor] [表示]-[オブジェクトブラウザ]->[keycode]