特定の宛先について差出人アドレスの警告を表示するマクロ


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


下記の運用を考えておりますが、うまく動作せずに悩んでおります。
運用に合わせて実行できるかどうかご確認いただけないでしょうか。
機能的に無理であれば、代替え案などご提示いただければ幸いです。

■ 現行の運用
送信先(新規作成・返信時)の宛先によって差出人を変更する運用を行っていますが
変更をし忘れて送信することがあります。
差出人の変更は、主に2つの外部アドレスの際に行います。

■ やりたいこと
送信ボタンをクリックした際に、宛先のアドレスをチェックして差出人が正しく変更されているかを
チェックするようにしたいと考えております。
チェック後、問題があれば編集する旨をポップアップで出すようにしております。
(代理人送信のような形になることは問題ございません。)

中略

※ aFrom = Item.Session.CurrentUser.Addressで差出人情報を取得すると差出人を
変更しているにも関わらず、デフォルトの差出人情報を取得してきます。



CurrentUser の Address は既定のアカウントのアドレスを取得するものであるため、メールごとに指定する差出人のアドレスとは連動しません。
メールの送信の際に手動で指定した差出人の情報はアイテムの SentOnBehalfOfName に設定されます。
そのため、まず SentOnBehalfOfName の値を取得し、それが設定されていない場合に CurrentUser の Address を取得するというようにすれば、ご要望の動作になると考えられます。
コメントにてご提供いただいた作成中のマクロを変更すると以下のようになります。

' ここをトリプルクリックでマクロ全体を選択できます。
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    Dim aFrom As String
    Dim lTo As String
'
    aFrom = Item.SentOnBehalfOfName ' 代理送信情報取得
    If aFrom = "" Then ' 代理送信の設定がされていなければ自分自身として送信
        aFrom = Item.Session.CurrentUser.Address '差出人取得
    End If
    aTo = Item.To '宛先取得
'
    Select Case True
        ' 宛先に「@abc.jp」含む場合は、差出人アドレスが「aaaa@zzz.jp」になっているか確認
        Case aTo Like "*@abc.jp*"
            If Trim(aFrom) = "aaaa@zzz.jp" Then
            Else
                MsgBox (aFrom)
                If vbOK = MsgBox("差出人アドレスを確認してください", vbOKOnly + vbCritical, "誤送信チェック1") Then
                    Cancel = True
                    Exit Sub
                End If
            End If
        ' 宛先に「@def.jp」含む場合は、差出人アドレスが「bbbb@zzz.jp」になっているか確認
        Case aTo Like "*@def.jp*"
            If Trim(aFrom) = "bbbb@zzz.jp" Then
            Else
                MsgBox (aFrom)
                If vbOK = MsgBox("差出人アドレスを確認してください", vbOKOnly + vbCritical, "誤送信チェック2") Then
                    Cancel = True
                    Exit Sub
                End If
             End If
        'その他は、差出人アドレス変更なし
    End Select
End Sub

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

特定の宛先について差出人アドレスの警告を表示するマクロ」への2件のフィードバック

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中