<スポンサーリンク>

【VBA-IE操作】sendKeysの使い方とコード一覧!キーボード操作を自動化。

IE関係
この記事は約4分で読めます。
コピーボタン
記事のタイトルとURLをコピー
スポンサーリンク

【VBA-IE操作】sendKeysの使い方とコード一覧!キーボード操作を自動化。

<スポンサーリンク>

VBAでIE(インターネットエクスプローラー)を動かすためには、
①サイトを起動
②操作したい情報のID,NAME等を確認。
③クリックや、値を入力
という順番になりますが、
どうしても操作したい要素のIDやNAMEなどが分からない場合があります。

そんな時には最終手段です。

「タブを5回押して、エンターを押せ」というように、
VBAでキーボードの操作を自動化することで実現可能になります。

キーボード操作→ SendKeys

VBAでキーボードの操作の代わりをするためには「SendKeys」を用いる必要があります。
実際のコードの一例を下記に示します。

SendKeys "123" '1→2→3と順番に入力
SendKeys "{BS}" ’Back spaceを押す
SendKeys "^c" ’Ctrl+Cを押す(コピー)
SendKeys "{TAB} 10" ’TABを10回押す。 コマンド 回数で反復可能

microsoftの公式ページに出来ることが掲載されておりますが、
キーボードで行えることすべてできると思っていただいてokです。
キーと対応するコードは下記のとおりです。

キーコード
Shift+
Ctrl^
Alt%
{UP}
{DOWN}
{LEFT}
{RIGHT}
BackSpace{BACKSPACE}、{BS}、または {BKSP}
Del または Delete{DELETE} または {DEL}
Enter{ENTER} または ~
Break{BREAK}
CapsLock{CAPSLOCK}
終了{END}
Esc{ESC}
Help{HELP}
ホーム{HOME}
Ins または Insert{INSERT} または {INS}
NumLock{NUMLOCK}
PageDown{PGDN}
PageUp{PGUP}
PrintScreen{PRTSC}
ScrollLock{SCROLLLOCK}
Tab{TAB}
F1{F1}
F16{F16}

SendKeysでグーグル検索

ということで、グーグル検索をしてみました。
そのままキーボードの入力の命令させると、画面の表示が追い付かず、
きちんと検索することができません。
ですので、Application.Waitを用いてプログラムの処理を一時停止しております。

Sub IE_SENDKEYS()

 Application.ScreenUpdating = False
 
'IEの起動
Dim objIE As Object
 
Set objIE = GetObject("", "InternetExplorer.Application")
 
objIE.Visible = True
     
     
    objIE.Navigate "https://www.google.co.jp/"  ' このURLを任意に変更
     
    ' ページの表示完了待ち。
    While objIE.ReadyState <> 4 Or objIE.Busy = True
        DoEvents
    Wend
    
SendKeys "test"
waitTime = Now + TimeValue("0:00:01")
Application.Wait waitTime
SendKeys "{TAB}"
SendKeys "{ENTER}"

    
End Sub

最終手段 SendKeys

ということで、最終手段として、SendKeysを用いて、
キーボードの操作を勝手に行う方法を説明させてもらいました。
単純にキーボードの操作をしてもらうだけですので、
平行して他の作業などをしようとすると、間に入って邪魔することになります。
ですのであくまで最終手段として、
idやnameなどの要素を取り出して操作していくことをおすすめします。

その他、VBAでIEを動かすために必要な情報をまとめています!!

コピーボタン
記事のタイトルとURLをコピー
IE関係
スポンサーリンク
スポンサーリンク
nujonoaをフォローする
nujonoa_blog

コメント欄

<スポンサーリンク>
タイトルとURLをコピーしました