アドレス帳のドロップダウンで連絡先のパスを表示するマクロ


Outlook では連絡先にサブフォルダーを作成し、何階層にもわけて管理することが可能です。
しかし、アドレス帳のドロップダウンに連絡先が表示される場合、既定ではフォルダー名のみの昇順で表示されてしまうため、別階層に同じ名前があったような場合に区別しづらかったり、フォルダーツリーと全く異なる順序で表示されたりします。

アドレス帳に表示されるときの名前を変更することは可能なため、一つ一つのフォルダーを適切に設定すれば意図した並び順などになりますが、多数のフォルダーがある場合に手作業でそれを行うのはちょっと面倒です。

そこで、アドレス帳に表示されるフォルダー名に上位のフォルダー名も追加するマクロを作成しました。これを実行すると、たとえば「連絡先」フォルダーの下の「会社」の下の「株式会社AAA」というような連絡先フォルダーがあった場合、アドレス帳に「連絡先 \ 会社 \ 株式会社AAA」と表示されるようになります。

マクロは以下の通りです。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub ShowAllContactsWithPath()
    Dim fldTop As Folder
    Dim fldSub As Folder
    Set fldTop = Session.GetDefaultFolder(olFolderContacts)
    For Each fldSub In fldTop.Folders
        ShowWithPathRecursive fldSub, fldTop.Name
    Next
End Sub
'
Private Sub ShowWithPathRecursive(fldCurrent As Folder, strParentPath As String)
    Const PATH_DELIMITER = " \ "
    Dim i As Integer
    fldCurrent.ShowAsOutlookAB = True
    fldCurrent.AddressBookName = strParentPath & PATH_DELIMITER & fldCurrent.Name
    For i = 1 To fldCurrent.Folders.Count
        ShowWithPathRecursive fldCurrent.Folders(i), fldCurrent.AddressBookName
    Next
End Sub

マクロの登録方法やメニューへの追加について

広告

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中