VBでのIE操作
VBでのIE操作をしようとして色々調べています。
色んなサイトを見ながら途中までは何とかできましたが、どうしてもリンク先を表示できません。
お分かりになる方いましたら、お力添えいただければ幸いです。
状況:
Excel2007使用 IE7 VB初心者です。
やりたい内容:
VBでIEを立ち上げる
↓
ページからリンクをクリックする
(ページ上に画像が貼り付けてあって、そこにURLくっついててハイパーリンクになっている。)
(セキュリティの関係でハイパーリンク先を初期で表示することはできない。)
↓
表示されたページに検索したい項目を入力
↓
結果をエクセルに反映する。
以上の作業をVBで組もうと思ってます。
よろしくお願いします。
Option Explicit
Sub IE_Test()
'IEの起動
Dim objIE As Object
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = True
'処理したいページを表示します。
objIE.Navigate "(表示したいページ)"
'ページの表示待ち
While objIE.readyState <> READYSTATE_COMPLETE Or objIE.Busy = True
DoEvents
Wend
'開かれたIEを探す。
Dim objSHELL As Object
Dim objWINDOW As Object
Dim newIE As InternetExplorer
'調べる項目に対して、、、
For yCNT = 3 To 102 '
If Trim(Cells(yCNT, 1)) = "" Then Exit For 'A列が空白になったらループを抜ける
ここがわからない。。。
(画像になっているハイパーリンクをクリックしたい、、、)
'シェルのオブジェクトを作成する
Set objSHELL = CreateObject("Shell.Application")
Set newIE = objSHELL.Windows(objSHELL.Windows.Count - 1)
Set objSHELL = Nothing
'念のため、新しいウインドウの表示を待つ
While newIE.readyState <> READYSTATE_COMPLETE Or newIE.Busy = True
DoEvents
Wend
'ページが表示されたので、表示された文章に対して、処理を行います。
newIE.document.all("phone_no").Value = Cells(yCNT, 1) 'A列の文字を参照する
newIE.document.all("exec").Click
'表示されたウインドウ(newIE)からデータをセットする
Cells(yCNT, 2) = newIE.document.body.innerText '検索の結果をエクセルに反映
'新しいIE(子IE)を閉じる
newIE.Quit
Set newIE = Nothing
'前のIE(親IE)を閉じる
objIE.Quit
set objIE = Nothing
Next yCNT
End Sub
上記が現在までのできているコードです。
ここにも色々間違いがある可能性もあります。
ご指摘頂けましたら幸いです。
よろしくお願いします。