OutlookのVBAでメール送信前に確認するやつ

はい前回に続いてOutlookネタです。というか、これはほぼまんまコピペですけど。
もともとは添付ファイルを添付忘れたり、宛先に「様」付け忘れたりすることが多かったので何とかできる範囲でチェック強化できないかなぁと悩んでいた次第で、ほぼ以下のサイトの丸パクリです。

◆参考サイト
https://se.ekaki-j.com/outlook-security/
http://tooljp.com/qa/recommended-VBA-samples-Outlook-prevent-mail-incorrect-sending-B42C.html

◆ソースコード

'
' メール送信前チェック
'
Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
    On Error GoTo Exception
    
    Dim maxCnt As Integer
    Dim strCC As String
    Dim strBody As String
    maxCnt = 0
    strCC = vbCrLf
    strBody = Item.Body
    
    ' 添付ファイルチェック
    If InStr(strSubject & strBody, "添付") > 0 And Item.Attachments.Count = 0 Then
        If MsgBox("添付ファイルを忘れている可能性があります。本当に送信しますか?", vbYesNo + vbQuestion) = vbNo Then
            Cancel = True
            Exit Sub
        End If
    End If
    
    
    Dim objRec As Recipient
    For Each objRec In Item.Recipients
        strCC = strCC & "●" & objRec.Name & " " & objRec.Address & vbCrLf
        maxCnt = maxCnt + 1
        If maxCnt >= 20 Then Exit For
    Next
    
    '宛名チェック
    If InStr(Item.Body, "様") + InStr(Item.Body, "さま") + InStr(Item.Body, "さん") + InStr(Item.Body, "殿") + InStr(Item.Body, "御中") + InStr(Item.Body, "各位") = 0 Then
       ret = MsgBox("メール本文に""様、さま、さん、殿、御中、各位などが付いていない""のいずれかの文字が見つかりませんでした。本当に送信してよいか確認してください。送信しますか。", vbOKCancel)
        If ret = vbCancel Then
            Cancel = True
            Exit Sub
        End If
    End If
    
    
    Dim strMsg As String
    strMsg = "件名:" & Item.Subject & vbCrLf & strCC & vbCrLf & "上記の宛先に、メールを送信してもよろしいですか?"
    
    If MsgBox(strMsg, vbExclamation + vbYesNo + vbDefaultButton2) <> vbYes Then
        Cancel = True
    End If
    
    On Error GoTo 0
    Exit Sub
    
Exception:
    MsgBox CStr(Err.Number) & ":" & Err.Description, vbOKOnly + vbCritical
    Cancel = True
    Exit Sub

End Sub


とりあえずメールは嫌なんですが、これしか手段がないので少しでも効率化しない
となぁ。後は自動返信マクロを準備すれば完璧かもしれないな。
世の大半の人がやってる仕事が「メール受信」して「内容確認」して「添付ファイルを指定フォルダに保存」して「ありがとうございます返信」する位なのでこれ自動化できたら結構な時間を削減できそうだなぁと思ったりしますが、どうですかねぇ。

コメント

このブログの人気の投稿

証券外務員1種勉強(計算式暗記用メモ)

GASでGoogleDriveのサブフォルダとファイル一覧を出力する

マクロ経済学(IS-LM分析)