Outlook の連絡先から地図検索サイトを呼び出すマクロ


Outlook の連絡先には住所の情報が含まれていますが、この情報を使って Google Maps などを呼び出し、表示できれば便利ではというコメントを頂いたため、マクロを作ってみました。

以下のマクロは連絡先の住所を Google Maps で検索して表示するものです。ブラウザによっては ie=SJIS を ie=UTF-8 にする必要があるかもしれません。

Sub OpenGoogleMaps()
    Dim objContact As ContactItem
    Dim strAddress As String
    Dim objShell As Object
    Set objContact = Application.ActiveExplorer.Selection.Item(1)
    With objContact
        If .MailingAddress <> "" Then
            strAddress = .MailingAddressState & .MailingAddressCity & .MailingAddressStreet
            If strAddress = "" Then
                strAddress = .MailingAddress
            End If
            Set objShell = CreateObject("WScript.Shell")
            objShell.Run "http://maps.google.co.jp/maps?ie=SJIS&hl=ja&tab=wl&q=&quot; & strAddress
        End If
    End With
End Sub

また、以下のマクロは Live Search Maps を検索するバージョンです。

Sub OpenLiveSearchMaps()
    Dim objContact As ContactItem
    Dim strAddress As String
    Dim objShell As Object
    Set objContact = Application.ActiveExplorer.Selection.Item(1)
    With objContact
        If .MailingAddress <> "" Then
            strAddress = .MailingAddressState & .MailingAddressCity & .MailingAddressStreet
            If strAddress = "" Then
                strAddress = .MailingAddress
            End If
            Set objShell = CreateObject("WScript.Shell")
            objShell.Run "http://maps.live.com/?where1=&quot; & Escape(strAddress)
        End If
    End With
End Sub

Function Escape(strText) As String
    Dim strEscaped As String
    Dim c As String
    Dim i As Integer
    For i = 1 To Len(strText)
        c = Mid(strText, i, 1)
        If AscW(c) >= &HFF Or AscW(c) < 0 Then
            c = "%u" & Right("0000" & Hex(AscW(c)), 4)
        End If
        strEscaped = strEscaped & c
    Next
    Escape = strEscaped
End Function

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中