※注意:下記のプログラムは、現在、正常に動作いたしません。解決次第に更新いたします。上記のGoogle Chromeバージョンは動作いたします。
下記のプログラムは、InternetExplorerとVBAを組み合わせて、住所データから最寄り駅を検索するサンプルプログラムです。EXCELシートに住所の一覧を作成して、その住所データを元に、WebサイトのYahoo!地図を利用して最寄り駅検索を行い、最寄り駅の3か所データをEXCELシートに転記します。
【プログラム内容】
①【住所の一覧データから最寄り駅を検索します】(3駅)
②Webサイト【Yahoo!地図】から最寄り駅を検索します。
' '******** AKIRA55.COM ******* https://akira55.com//Nearest_station/ ' Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Nearest_station01() '指定した最寄り駅検索を行います。 Dim IE As Object Dim My_Add() As String Dim I, L, lRow As Long Dim Txt_Data(6), Button As Object lRow = Cells(Rows.Count, "C").End(xlUp).Row 'C列(住所)の最終行を取得 For I = 3 To lRow '3行目から最終行までループします。 ReDim Preserve My_Add(I) As String '既存データを保持したまま要素数を変更します。 My_Add(I) = Cells(I, "C").Text Set IE = CreateObject("InternetExplorer.application") IE.Visible = True 'InternetExplorerを立ち上げる。 IE.navigate ("https://map.yahoo.co.jp/maps") 'YahooMapを開きます。 Do While IE.Busy Or IE.readystate < readystate_complete 'Webページが表示されるまで待ちます。 DoEvents Sleep 1 Loop Sleep 2000 Set Txt_Data(0) = IE.document.getElementByid("yschsp") Txt_Data(0).innertext = My_Add(I) '住所データを入力します。 Set Button = IE.document.getElementByid("search") Button.Click '検索ボタンをクリックします。 Do While IE.Busy Or IE.readystate < readystate_complete '検索結果のWebページが表示されるまで待ちます。 DoEvents Sleep 1 Loop Sleep 2000 On Error Resume Next ' エラー回避 Set Txt_Data(1) = IE.document.getElementsByClassName("stationname")(0) '一番目に近い駅名を取得します。 Set Txt_Data(2) = Txt_Data(1).parentElement.getElementsByTagName("span")(0) '一番名に近い駅からの徒歩時間を取得します。 Set Txt_Data(3) = IE.document.getElementsByClassName("stationname")(1) '二番目に近い駅名を取得します。 Set Txt_Data(4) = Txt_Data(3).parentElement.getElementsByTagName("span")(0) '二番名に近い駅からの徒歩時間を取得します。 Set Txt_Data(5) = IE.document.getElementsByClassName("stationname")(2) '三番目に近い駅名を取得します。 Set Txt_Data(6) = Txt_Data(5).parentElement.getElementsByTagName("span")(0) '三番名に近い駅からの徒歩時間を取得します。 For L = 1 To 6 '配列データ1~6を繰り返す Cells(I, L + 3) = Txt_Data(L).innertext 'Webページから取得したデータをセルへ出力します。 Next L On Error GoTo 0 ' エラー回避 IE.Quit 'InternetExplorerを閉じる Next I MsgBox "最寄り駅検索が終了しました。" End Sub '