初心者でもできる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]が検索される
↓
終了
※最後に下の画面にたどり着く
最後に
この処理は、使用すること頻度はすくないですが、
困った時に是非使ってみてください!