Outlookで送信前に送信先と添付忘れを確認するメッセージを表示するの巻

追記:Outlook 2016,365でも動作します。

Outlook 2013で、メールの送信前に、送信先アドレスと添付忘れを確認するダイアログを表示できたらいいなあ、でも難しいんだろうなあ...と思っていたら、意外と簡単にできてしまったので、メモ。
たぶん、2010とか2007のOutlookでも、同じ方法でできると思われます。

1.リボンに「開発」が表示されていないときは、「表示」リボンの文字の上で右クリック
→「リボンのユーザー設定」をクリック。
→「Outlookのオプション」画面の右側の□開発をチェックON。
→OKをクリック。

2.リボンの「開発」をクリックし、「Visual Basic」ボタンをクリック。

3.「Microsoft Visual Basic fo Applications - Project1」という画面が表示されるので、
→画面左側のProject1の+ボタンをクリック。
→Microsoft Outlook Objectsの+ボタンをクリック。
→ThisOutlookSessionをダブルクリック。
→画面右側に「Project1 - ThisOutlookSession(コード)」というウィンドウが表示されるので、その中に以下のソースをコピペ。
'---- ここから ----
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

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
'---- ここまで ----

4.ツールボタンの「上書き」をクリックして、「Microsoft Visual Basic fo Applications - Project1」画面を右肩の×で閉じる。

完了!

テストしてみてください。
メールアドレスは20個まで表示するようにしてあります。
これで、誤送信や添付忘れが少なくなることを願ってやみません。

おまけ。
なお、Outlook 2013 のセキュリティ設定が初期状態のままだと、Outlook起動時にマクロが読み込まれません。
そこで、ファイル→オプション→セキュリティセンター→セキュリティセンターの設定→マクロの設定 で、「すべてのマクロに対して警告を表示する」を選択し「OK」をクリックすればよいのですが、今度は、Outlook起動のたびに警告メッセージが表示されます。
警告メッセージを消したい場合は、以下のページの後半部分を参考に、適切なセキュリティ設定を行ってくださいませ。(おすすめは「マクロに署名」です)
Outlook 2013 でメール送信時に常に BCC を付加する

なお、Outlook 2013(2016も)には、標準で「添付忘れ確認機能」がついていますが、「attached」という文字列には反応するものの「添付します」には反応してくれないので役立たずです。
設定は、ファイル→オプション→メール→「確認」ブロックの一番下の「ファイルが添付されていない可能性があるメッセージを送信するときに警告を表示する」のチェックボックスをオンにします。

ぐっどらっこ。