特定条件の受信メールの差出人を連絡先に追加するマクロ


コメントにて以下のご要望をいただきました。


今回、アドレス帳登録についてのご相談させていただきたくコメント致しました。
Outlook2010において、送信したメールのアドレスをアドレス帳に自動登録する機能はありますが、
例えば、仕訳によってある特定のフォルダに振り分けられた受信メール、
または特定の件名など、受信したメールの条件に応じてアドレス帳へ自動登録するマクロは可能でしょうか。

また、上記が可能だとして、
一度登録されたメールアドレスから同じ条件でメールが再度届き重複する場合、
何らかのアラート(ポップアップ、フラグや分類項目など)を表示させる事はできるものでしょうか。

もしお時間ありましたら取り上げていただければ幸いです。



以下のようなマクロを定義し、自動仕分けの処理の「スクリプト」でこのマクロを指定することにより、自動仕分けで指定した任意の条件で受信したメールの差出人を連絡先に登録できます。

' ここをトリプルクリックでマクロ全体を選択できます。
Public Sub AddSenderToContacts(objMail As MailItem)
    Dim strSenderAddr As String
    Dim fldContacts As Folder
    Dim objContact As ContactItem
    strSenderAddr = objMail.SenderEmailAddress
    ' 連絡先フォルダーを取得
    Set fldContacts = Session.GetDefaultFolder(olFolderContacts)
    ' 連絡先フォルダーから差出人が登録済みか検索
    Set objContact = fldContacts.items.Find("[Email1Address] = '" & strSenderAddr _
        & "' or [Email2Address] = '" & strSenderAddr _
        & "' or [Email3Address] = '" & strSenderAddr & "'")
    If objContact Is Nothing Then
        ' 登録済みでなければ新規に追加
        Set objContact = fldContacts.items.Add(olContactItem)
        objContact.Email1Address = strSenderAddr
        objContact.FullName = objMail.SenderName
        objContact.Save
    Else
        ' 登録済みならエラー表示
        MsgBox objMail.SenderName & "<" & strSenderAddr & "> は登録済みです。"
    End If
End Sub

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

特定条件の受信メールの差出人を連絡先に追加するマクロ」への1件のフィードバック

  1. 御礼が遅くなりましたが、取り上げて下さって下さってありがとうございました。
    恥ずかしながら仕訳ルールにマクロを使える事を知りませんでした。
    これを使えば条件に応じて複数のアドレス帳に登録する…という事ができて益々便利になりそうです。
    本当にありがとうございました!

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中