- ベストアンサー
VBA WEB上の画像をクリック
VBAでWEB上の画像にあるリンクをクリックしたいのですが、 うまくいきません。 WEB上のソースは下記の様になっています。 <a href="******" target="_top"><img src="/image/menu/5.png" border="0" alt="あああああ" onMouseOver="chgImg('/image/menu/4.png',this)" onMouseOut="chgImg('/image/menu/5.png',this)" ></a> この部分をクリックさせ、ページを移動させたいのですが、 どうすればいいでしょうか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
上記のソースでは画像自体にリンク能力はないので、アンカータグ(<a href~>)に対してclickを実行します。 ページのリンク情報はdocument.linksコレクションで取得できるので、ここから移動先URLと一致したアンカーをclickさせます。 Set objIE = CreateObject("InternetExplorer.Application") objIE.Visible = True objIE.Navigate "http://***" Do While objIE.busy = True Or objIE.readystate <> 4 DoEvents Loop For Each link In objIE.Document.Links If link.href = "http://***/link.html" Then link.Click Exit Sub End If Next この方法は、リンク先のURLが判明している場合です。画像のURLで判別するには、アンカーの子ノードを調べ、URLが一致した画像を含むアンカーをクリックする手順になります。 For Each link In objIE.Document.Links 'If link.href = "http://***/link.html" Then ' link.Click ' Exit Sub 'End If For Each Child In link.childNodes If TypeName(Child) = "HTMLImg" Then If Child.src = "http://***/***.png" Then link.Click Exit Sub End If End If Next Next
お礼
ありがとうございました。 すんなりできました。