OutlookのVBAでメール送信前に確認するやつ
はい前回に続いてOutlookネタです。というか、これはほぼまんまコピペですけど。
もともとは添付ファイルを添付忘れたり、宛先に「様」付け忘れたりすることが多かったので何とかできる範囲でチェック強化できないかなぁと悩んでいた次第で、ほぼ以下のサイトの丸パクリです。
◆参考サイト
https://se.ekaki-j.com/outlook-security/
http://tooljp.com/qa/recommended-VBA-samples-Outlook-prevent-mail-incorrect-sending-B42C.html
◆ソースコード
とりあえずメールは嫌なんですが、これしか手段がないので少しでも効率化しない
となぁ。後は自動返信マクロを準備すれば完璧かもしれないな。
世の大半の人がやってる仕事が「メール受信」して「内容確認」して「添付ファイルを指定フォルダに保存」して「ありがとうございます返信」する位なのでこれ自動化できたら結構な時間を削減できそうだなぁと思ったりしますが、どうですかねぇ。
もともとは添付ファイルを添付忘れたり、宛先に「様」付け忘れたりすることが多かったので何とかできる範囲でチェック強化できないかなぁと悩んでいた次第で、ほぼ以下のサイトの丸パクリです。
◆参考サイト
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
とりあえずメールは嫌なんですが、これしか手段がないので少しでも効率化しない
となぁ。後は自動返信マクロを準備すれば完璧かもしれないな。
世の大半の人がやってる仕事が「メール受信」して「内容確認」して「添付ファイルを指定フォルダに保存」して「ありがとうございます返信」する位なのでこれ自動化できたら結構な時間を削減できそうだなぁと思ったりしますが、どうですかねぇ。
コメント