スポンサードリンク

メールを一括送信するプログラムで、エラーが出た場合の動作確認を行なう。

プログラムは、いつも正常に動くとは限りません。システムを使用するユーザーが、プログラマーの予想外の操作をしたり、間違ったデータを入力することがあるからです。

プログラム自体にバグ(誤り)がある可能性もあります。

そのためエラーが出た場合の対処が、プログラミングでは重要です。特にプログラマーとユーザーが異なる場合は、しっかりエラー処理する必要があります。

今回は、Excelからメール送信が上手くいった場合だけでなく、エラーが出るような条件でも、動作確認してみましょう。

(1)行番号が空白の時

mail-218.gif

もし行番号が適切で無い場合は、ラベルにメッセージが表示され、「メール送信」ボタンが、使用不可になります。

これらはメール送信時のエラーを、できるだけ防ぐための処理で、以下のエラー処理でも共通しています。


(2)行番号が1以下の時

mail-219.gif


(3)行番号に適切で無い値を入力した時

mail-225.gif


(1)、(2)、(3)は、終了行番号でも同じなので、同様に動作テストしてください。


以下からは、「メール送信」ボタンをクリックした時のエラー処理です。

(4)終了行番号が開始行番号より小さい時

mail-220.gif


(5)ワークシート「送信」で、行番号で選択した範囲の氏名やメールアドレスが入力されていない時

mail-221.gif


(6)メール送信時にエラーが発生した時

mail-222.gif

例 LANケーブルが抜けていた等


【解説】
実は今回紹介したのは、必要最低限のエラー処理です。もっといろんなケースが考えられます。

例 メールアドレスが妥当なものかどうか等

エラーで一番多いのは、予想外の操作やデータが入力された場合です。そのためパソコンに不慣れなユーザーが使う場合は、もっとしっかりしたエラー処理が必要です。

実際に行ないたいVBAプログラム本体より、エラー処理のほうが長くなることもあるほどです。

逆にプログラマー自身が使う場合は、どんな操作やデータを入力するとエラーになるのか、大体予測できるので、最低限のエラー処理で済ます場合もあります。


【補足】
メール一括送信時にエラーが発生すると、「Send」フォルダに未送信のメールが残ってしまいます。

・残ったメール
mail-223.gif

残ったメールは、次回送信するメールと一緒に送られます。

でも、もしかしたら同じ内容のメールを重複して送信してしまう可能性もあるため、手動で削除しておいたほうが無難です。

・残ったメールを削除
mail-224.gif

・「Send」フォルダは、空の状態が正しい
mail-226.gif

「Send」フォルダにいったん保存されたメール(テキストファイル)は、送信が正常に行なわれると、1件ずつ自動的に削除されます。

したがってプログラム終了後には、空の状態が正しいのです。

実は「Send」フォルダに残ったメールは、プログラムで自動的に再送信したり、まとめて削除することが可能です。その方法については、今後のステップで説明します。

スポンサードリンク






メール送信・受信プログラミング初心者入門 TOPへ