- 締切済み
Excel VBAでブラウザのリンクをクリックするには
Excelのバージョンは2003です。 VBAで出発地から到着地からNavitimeのサイトに接続して距離を取得するようなプログラムを作成していますが… 下記のように記述しています。 Private Sub Workbook_Open() Dim ie As InternetExplorer Dim addr0 As String Dim addr1 As String Set ie = CreateObject("InternetExplorer.Application") ie.Visible = True addr0 = "住所1" addr1 = "住所2" ie.navigate "http://www.navitime.co.jp/?keyword0=" & urlEncode(addr0) & _ "&keyword1=" & urlEncode(addr1) & _ "&ctl=0604" Do While ie.Busy = True Do While ie.readyState <> 4 DoEvents Loop Loop End Sub Public Function urlEncode(str As String) As String Set sc = CreateObject("ScriptControl") sc.Language = "Jscript" Set js = sc.CodeObject urlEncode = js.encodeURIComponent(str) End Function リンクをクリックするにはどのようにすればいいのでしょうか。 アドバイス宜しくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- うぃず(@Wizard_Zero)
- ベストアンサー率69% (344/495)
ieのDocumentからクリックしたいHtmlエレメントオブジェクトを探し出してclick。 探し方はいろいろありますが、HTMLソースによって異なります。 リンクしたいエレメントにidやnameがあれば、getElementById/getElementsByName ハイパーリンクならie.document.linksをFor EachでまわしてhrefやinnerTextで判断。 フォームなら、ie.document.forms(番号またはフォームのid/name).submit この手の質問は過去ログにたくさんあるので、具体的なコードは検索してみてください。 下記コードは参考程度に 参照設定:Microsoft Internet Controls, Microsoft HTML Object Library Dim doc As HTMLDocument Dim link As HTMLAnchorElement Set doc = ie.Document For Each link In doc.Links Debug.Print link.innerText & " :URL = " & link.href Next
お礼
回答ありがとうございます。 せっかくアドバイスいただいたんですが・・・ プログラム自体、全て白紙になりました。 申し訳ありません。