[VBA]既定のブラウザでGoogleマップを表示する

投稿者:

仕事柄、MS AccessでVBAのコードを書くことが多いのだが、VBAで既定のブラウザを起動し、任意の住所のGoogleマップを表示するプログラムを作ったので忘れないようにメモしておく。

'**********************************************
'指定した住所のGoogle Mapを既定のブラウザで開く
'引数:strADDRESS = "住所"
'戻値:なし
'**********************************************
Public Sub GoogleMAP(strADDRESS As String)
    Dim objWSH As Object
    Dim strURL As String
    Dim strENC As String

    strENC = UrlEncodeUtf8(strADDRESS)
    strURL = "https://maps.google.co.jp/maps?hl=ja&q=" & strENC & "&um=1&ie=UTF-8&sa=N&tab=wl"

    Set objWSH = CreateObject("WScript.Shell")
    objWSH.Run strURL, 1
End Sub

'==================================================
'文字列をUTF-8でエンコードする
'strSource: 元の文字列
'返り値: エンコードされた文字列
'==================================================
Public Function UrlEncodeUtf8(ByRef strSource As String) As String
    Dim objSC As Object

    Set objSC = CreateObject("ScriptControl")

    objSC.Language = "Jscript"
    UrlEncodeUtf8 = objSC.CodeObject.encodeURIComponent(strSource)
End Function

使い方はGoogleMapプロシージャの引数に住所の文字列を渡せばよい。
既定のウェブブラウザが開いて指定した住所のGoogleマップが表示されるはずだ。

Call GoogleMap("東京都千代田区永田町1丁目7−1")

例では国会議事堂の住所を指定したが、”国会議事堂”と施設名、建物名、企業名などでも関連した地図が表示される。

私はこのプログラムをAccessに実装したけど、Excelのマクロとして動かすことも可能のはずだ。試してみてほしい。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください