- ベストアンサー
shell関数を使ってgoo地図の特定の住所を表示させたいです。
shell関数を使ってgoo地図の特定の住所を表示させたいです。 google maps の場合は Call Shell(("explorer.exe ""http://maps.google.co.jp/maps?hl=ja&q=東京都世田谷区"" "), vbNormalFocus) のようにすればいいのですが、 goo maps の場合はURLの、 http://map.goo.ne.jp/ の後をどのようにすればいいのかわかりません。 教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
質問文のコードは少し疑問を持っていますが、大きく違うわけではありませんから、それは無視しておきます。Map.Gooの場合、経緯・緯度が分かっていればよいのですが、そうでないと、住所からの検索が必要です。だから、以下のようなコードになります。 '住所は間違いやすいので、InputBox を使用せずに、セルに置くことにしました。 '// Sub SearchMap() Dim objIE As Object 'InternetExplorer '参照設定の場合 Dim objFrm As Object Dim i As Long Dim Adr As String Const mURL As String = "http://map.goo.ne.jp/" 'A1に住所を入れる If Range("A1").Value = "" Then MsgBox "住所が入っていません", 48: Exit Sub Adr = Range("A1").Value Set objIE = CreateObject("InternetExplorer.Application") 'New InternetExplorer objIE.Visible = True objIE.Navigate2 mURL With objIE Do: DoEvents: i = i + 1: Loop Until (Not .Busy And .ReadyState = 4) Or i > 10000 Set objFrm = .Document.Forms("frm") objFrm.Item("MT").Value = Adr objFrm.Item("map_search").Click End With Set objIE = Nothing End Sub
お礼
ご回答ありがとうございました。回答をヒントにもう一度しらべてみたところ、求めていたものにたどりつけました。 Call Shell(("explorer.exe ""http://map.goo.ne.jp/search.php?MT=" & Me.都道府県 & Me.市区郡 & Me.町村域 & Me.番地 & "&map_search=地図検索&src=1&selop=&sw=0&from=map_tp "" "), vbNormalFocus) ありがとうございました。