初心者でもできるVBA講座【Sendkeys】
2015/10/01
はじめに
前回(入力編)、全前回(クリック編)で検索窓への入力と
ハイパーリンクのクリックができるようになったと思うので、
今回は、アクティブなウィンドウにキーボード入力をすることが
できる力技をご紹介します。
Sendkeys
コードが複雑すぎて、どうしてもタグ指定できない場合などに
Sendkeysでキーボード入力します。
形式は下記のような形で書きます。
SendKeys “^a” [ctrl]押しながら[a]
SendKeys “{UP 6}” [↑]キー6回押した
SendKeys “{A 11}” [A]を11回押した
コード
キーに対するコードは、暗記しなくてOKです!
下記のテーブルを見て書きましょう。
| キー | コード |
| BACKSPACE | {BACKSPACE}、{BS}、または{BKSP} |
| BREAK | {BREAK} |
| CAPSLOCK | {CAPSLOCK} |
| DELorDELETE | {DELETE}または{DEL} |
| DOWNARROW | {DOWN} |
| END | {END} |
| ENTER | {ENTER}または~ |
| ESC | {ESC} |
| HELP | {HELP} |
| HOME | {HOME} |
| INSorINSERT | {INSERT}または{INS} |
| LEFTARROW | {LEFT} |
| NUMLOCK | {NUMLOCK} |
| PAGEDOWN | {PGDN} |
| PAGEUP | {PGUP} |
| PRINTSCREEN | {PRTSC} |
| RIGHTARROW | {RIGHT} |
| SCROLLLOCK | {SCROLLLOCK} |
| TAB | {TAB} |
| UPARROW | {UP} |
| F1 | {F1} |
| F2 | {F2} |
| F3 | {F3} |
| F4 | {F4} |
| F5 | {F5} |
| F6 | {F6} |
| F7 | {F7} |
| F8 | {F8} |
| F9 | {F9} |
| F10 | {F10} |
| F11 | {F11} |
| F12 | {F12} |
| F13 | {F13} |
| F14 | {F14} |
| F15 | {F15} |
| F16 | {F16} |
| SHIFT | + |
| CTRL | ^ |
| ALT | % |
※出典:microsoft
実践
Sub test()
Set IE = CreateObject(“InternetExplorer.Application”)
IE.Visible = True
IE.navigate “about:blank” ‘IE開く
Application.Wait [Now()+”00:00:01”] ’待機
IE.navigate “http://www.yahoo.co.jp/” ’指定のURLを開く
Application.Wait [Now()+”00:00:03″] ’待機
SetForegroundWindow IE.hwnd ‘IEをアクティブに
Application.Wait [Now()+”00:00:02”] ’待機
SendKeys “yahoosports{ENTER}” ‘[yahoosports]と打って[Enterキー]を押す
End Sub
上記のコードでは、下のような処理を行っている。
スタート
↓
IEの起動
↓
(1秒待機)
指定のURLを開く
・ヤフーのトップ画面に飛ぶ
↓
(3秒待機)
入力できるようIEをアクティブに
↓
(2秒待機)
検索窓に[yahoosports]と打って[Enterキー]を押す
↓
[yahoosports]が検索される
↓
終了
※最後に下の画面にたどり着く

最後に
この処理は、使用すること頻度はすくないですが、
困った時に是非使ってみてください!