【VBA】定期自動起動処理のエラー対応処理(処理結果メール送信)
VBAで自動定期起動処理の処理結果をメール送信したい人
VBA処理エラー時に連絡発信したい人向けに書いています。
本記事の内容
・VBAの定期自動起動処理のエラー対応処理
・VBA処理エラー時のメール送信
・VBA処理エラー時のメール送信
VBAの定期自動起動処理の処理結果をメール送信したいと思ったことはありませんか?
VBAの定期自動起動処理のエラー対応処理方法を紹介します。
定期自動起動処理のエラー対応処理プログラム
以下が定期自動起動処理のエラー対応処理プログラムです。
処理結果をGmailで送信する処理になっています。
- '*****************************************
- '* 自動処理
- '*****************************************
- Sub AutoProcess()
-
- On Error GoTo Err_Exit 'エラー時にErr_Exitへ移動させる
-
- 'ここに自動化する処理を入れる
-
-
-
- '処理完了メール送信(処理結果メール送信)
- Call ResultMailSend(1)
-
- Exit Sub
-
- 'エラー発生時の処理
- Err_Exit:
-
- '処理エラーメール送信(処理結果メール送信)
- Call ResultMailSend(0)
-
- End Sub
- '*****************************************
- '* 自動処理結果Gmailメール送信 ERROR_CHK(0:処理エラー 1:処理完了)
- '*****************************************
- Public Sub ResultMailSend(ERROR_CHK)
- Dim objMail As Object
- Dim fromMail As String
- Dim toMail As String
- Dim ccMail As String
- Dim bccMail As String
- Dim strMessage As String
- Dim Subject As String
- 'CODオブジェクトを取得
- Set objMail = CreateObject("CDO.Message")
-
- '送信元を指定
- fromMail = "送信元メールアドレス"
- '宛先を指定 ※送信アドレスが複数の場合はセミコロンで区切る
- toMail = "宛先メールアドレス"
- ccMail = "CCメールアドレス"
- bccMail = "Bccメールアドレス"
-
- '送信元メールアドレス
- objMail.From = fromMail
-
- '宛先メールアドレス
- objMail.To = toMail
- objMail.CC = ccMail
- objMail.Bcc = bccMail
-
- If ERROR_CHK = 1 Then
- '件名
- objMail.Subject = "処理完了"
- 'メール文面
- strMessage = "メール本文"
- strMessage = strMessage & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf
- strMessage = strMessage & "※このメールはシステムから自動送信しています。" & vbCrLf
- strMessage = strMessage & ""
-
- objMail.AddAttachment "添付ファイルパス"
-
- Else
-
- '件名
- objMail.Subject = "処理エラー"
- 'メール文面
- strMessage = "処理エラーです。処理内容を確認してください。"
- strMessage = strMessage & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf & vbCrLf
- strMessage = strMessage & "※このメールはシステムから自動送信しています。" & vbCrLf
- strMessage = strMessage & ""
-
- End If
-
- 'メール本文
- objMail.TextBody = strMessage
-
- '文字コード
- objMail.TextBodyPart.Charset = "ISO-2022-JP"
- '認証方法 1:Basic認証
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
- 'SMTPサーバの種類 1:内部SMTPサーバ 2:外部SMTPサーバ
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
- 'SMTPサーバのホスト名やIPアドレス
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
- 'SMTPサーバの送信用ポート番号
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
- 'SSLを許可
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
- 'SMTPサーバのユーザー名
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = fromMail
- 'SMTPサーバのパスワード
- objMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "SMTPサーバパスワード"
-
- '設定を更新
- objMail.Configuration.Fields.Update
- '送信
- objMail.Send
-
- Set objMail = Nothing
-
- End Sub
メール送信処理部分はYahooメール等に変更可能です。
送信設定も必要ですので詳細はこちらの記事を御覧ください。
まとめ
VBAの定期自動起動処理のエラー対応処理方法を紹介を紹介しました。
最後までご覧いただき、ありがとうございました。
「ExcelVBA定期自動実行方法【batファイル vbsファイル タスクスケジューラ】」
「AccessVBA定期自動実行方法【batファイル vbsファイル タスクスケジューラ】」
も紹介していますので、もしよろしければこちらも御覧ください。

¥1,604 (2024/11/19 08:45時点 | Amazon調べ)

¥2,409 (2024/11/26 01:24時点 | Amazon調べ)

最近のコメント