ExcelVBAではじめるバイナリーオプション自動取引

ツール作成に役立つVBAtips


VBAtips

 自動売買ツールをエクセルで作る場合に役立つ、VBAによるブラウザとマウスの制御方法を簡単にまとめた備忘録。

IE・HTML操作関連

VBAでInternetExplorerを操作できるようにする
→VBEのツールバー(ツール)からMicrosoft Internet Controlsの参照設定を行う。
InternetExplorerオブジェクトの生成
Dim IE As New InternetExplorer
※以下、生成済みのInternetExplorerオブジェクトをIEで示す
InternetExplorerオブジェクトを破棄する
IE.Quit
ブラウザを表示する
IE.Visible = True
ブラウザを非表示にする
IE.Visible = False
ブラウザをフルスクリーン表示する
IE.FullScreen = True
ブラウザのフルスクリーン表示を元に戻す
IE.FullScreen = False
指定したURLのページを読み込む
IE.Navigate2 "移動したいページのURL"
ページの読み込み完了を待つ
While (IE.Busy = True) Or (IE.ReadyState < READYSTATE_COMPLETE) DoEvents Wend
ページ内の要素をIDで指定
IE.document.getElementById("指定したいID")
ページ内の要素をタグ名で指定
IE.document.getElementsByTagName("指定したいタグ")
ページ内の要素をnameで指定
IE.document.all("指定したいname")
ページ内のbody要素の指定
IE.document.body
要素のテキスト
"要素".innerText
要素をクリック
"要素".Click

マウスイベント操作関連

マウスイベントを操作できるようにする
Declare PtrSafe Sub mouse_event Lib "user32" (ByVal dwFlags As Long, _ ByVal dx As Long, ByVal dy As Long, ByVal cButtons As Long, _ ByVal dwExtraInfo As Long)
カーソル位置を取得できるようにする
Declare PtrSafe Function GetCursorPos Lib "user32" _ (lpPoint As POINTAPI) As Long Type POINTAPI 'カーソル位置取得用の構造体 getx As Long gety As Long End Type
カーソル位置を指定できるようにする
Declare PtrSafe Function SetCursorPos Lib "user32" (ByVal setx As Long, _ ByVal sety As Long) As Long
カーソル位置の取得
Dim cursorpoint As POINTAPI GetCursorPos cursorpoint
カーソル位置の指定
SetCursorPos 横位置, 縦位置
カーソル位置で左クリック
mouse_event 2, 0, 0, 0, 0 mouse_event 4, 0, 0, 0, 0