次に、リンクのボタンを押したいので、
Aタグ、リンクのHTMLを探ります。
押したいのは 入出金メニュー なので、そこら辺りを探ります。
'Aタグを集め、中身を確認する 'Aのタグを集める .getElementsByTagName("A")を使用 Set objA = objIE.Document.getElementsByTagName("A") 'ループで頭から表示してみる For n = 0 To objA.Length - 1 '※.InnerHTMLじゃなくて、.OuterHTMLでAの全体を見る Msgbox "n=" & n & vbCrLf & objA(n).OuterHTML Next Set objA = Nothing 'オブジェクト変数解放
.getElementsByTagName("A") で Aのタグを集めます
.Lengthで集めた数がわかるので、
For n = 0 To objA.Length - 1のループを作ります。
objA(n).OuterHTML で n番目のHTMLソースを取得できます。
あとは、見つけたらクリックじゃないけど、
見つけるのに、
InStr(objA(n).OuterHTML, "入出金メニュー") > 0
を使ったりして、見つけます。
そして、objA(n).Click でクリックします。
テスト結果→ http://www.youtube.com/watch?v=Yk347rMLvVc
www.youtube.com
作成したソースファイル
'複数立ち上がったIEから IPAT 投票メニューを見つける 'オブジェクトを格納する変数 Dim objShell, objWindow Dim objIE 'シェルのオブジェクトを作成する Set objShell = CreateObject("Shell.Application") Set objIE = Nothing 'ウインドウの数だけまわすぞ For Each objWindow In objShell.Windows 'TypeNameでオブジェクト変数のタイプを表示する 'HTMLDocumentだったら If TypeName(objWindow.document) = "HTMLDocument" Then If objWindow.document.URL = "https://www.ipat.jra.go.jp/pw_020_i.cgi" Then Set objIE = objWindow '見つけたウインドウを(IE)を代入 Exit For End IF End If Next Set objShell = Nothing '見つけたかチェック If objIE Is Nothing Then msgbox "エラー 投票メニューが見つかりません" wscript.quit End If '↑上で見つけたIPAT 投票メニューから 入出金メニュー を 押す 'Aのタグを集める .getElementsByTagName("A")を使用 Set objA = objIE.Document.getElementsByTagName("A") 'ループで頭から表示してみる For n = 0 To objA.Length - 1 '※.InnerHTMLじゃなくて、.OuterHTMLでAの全体を見る '入出金メニューのリンクを探す、ソースの文字を探す If InStr(objA(n).OuterHTML, "入出金メニュー") > 0 Then objA(n).Click 'クリックする Exit For 'ループを抜ける End If Next Set objA = Nothing 'オブジェクト変数解放
終わりの挨拶
.OuterHTMLから文字列を探す・・・芸が無い方法ですが使ってみてください。
何かの参考となれば・・・・
(まだ、先は長い感じ??)