タスクスケジューラ連携:成功時にも通知(メール送信・イベントログ情報)拡張版
これまで「エラー時の通知」を組み込みましたが、成功時にも通知を追加すると「成功/失敗の両方を監視」できる完全運用テンプレートになります。
成功通知メール送信(CDO.Message)
Sub SendSuccessMail(successMsg As String)
Dim objMsg As Object
Dim objConf As Object
Set objMsg = CreateObject("CDO.Message")
Set objConf = CreateObject("CDO.Configuration")
' SMTP設定(例:Office365)
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.office365.com"
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "your_account@domain.com"
objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "your_password"
objConf.Fields.Update
With objMsg
Set .Configuration = objConf
.From = "your_account@domain.com"
.To = "admin@domain.com"
.Subject = "【VBAタスク成功通知】"
.TextBody = "処理が正常終了しました: " & vbCrLf & successMsg
.Send
End With
End Sub
VB成功通知をイベントログに記録
Sub WriteSuccessEvent(successMsg As String)
Dim wsh As Object
Set wsh = CreateObject("WScript.Shell")
' Applicationログに情報として記録
wsh.LogEvent 4, "VBAタスク成功: " & successMsg
End Sub
VB👉 LogEvent の第一引数はイベント種別
0= 成功1= エラー2= 警告4= 情報
成功/失敗両方を統合した運用例
Sub AutoRun()
On Error GoTo ErrHandler
' ▼業務処理
Range("A1").Value = "Hello VBA!"
' 成功時通知
Dim successMsg As String
successMsg = "処理が正常終了しました(日時: " & Format(Now, "yyyy/mm/dd hh:nn:ss") & ")"
WriteLogMonthly successMsg
SendSuccessMail successMsg
WriteSuccessEvent successMsg
Exit Sub
ErrHandler:
Dim errMsg As String
errMsg = "ErrNumber: " & Err.Number & " / " & Err.Description
WriteLogMonthly "エラー発生: " & errMsg
SendErrorMail errMsg
WriteErrorEvent errMsg
End Sub
VB実務でのメリット
- 成功/失敗の両方を通知 → 管理者は「動いたかどうか」を確実に把握できる
- メール+イベントログの二重通知 → 見逃し防止
- ログファイルにも記録 → 後から履歴を追跡可能
✅ まとめ
- 成功時通知を追加することで「成功/失敗の両方を監視」可能
- メール通知+イベントログ+ファイルログの三重管理で安心運用
- タスクスケジューラと組み合わせれば「完全自動監視システム」が構築できる


