実はとても簡単で、これまでのプログラムに、1行追加するだけで済みます。
BASP21 には、メールに複数の添付ファイルを付けることができる機能が、あらかじめ用意されているからです。
したがって、VBAプログラム側の変更点は、少しだけです。
それでは実際にプログラムを改良してみましょう。
【1】Excelのファイル「メール送受信.xls」を開きます。
*マクロを有効にする
【2】VBEを起動します。
*「Altキー」+「F11キー」
【3】フォーム「frm送信」を選択し、「コードの表示」ボタンをクリックします。
【4】「cmd送信」クリック時のプログラムを、一部変更します。
赤枠で囲った1行を、追加するだけです。
追加部分のみ掲載
files = Replace(files, ";", vbTab)
たったこれだけで、メール送信時に複数の添付ファイルを指定することが、可能になりました。とても簡単ですよね。
【5】プログラムの変更が済んだら、VBEを「保存」して、閉じてください。
以上でVBAプログラム側の準備は、完了です。
続いては、動作確認です。
【6】ワークシート「送信」に切り換えます。
自動的に表示されたフォームは、一度閉じてください。
【7】ワークシートの「F列」で、複数の添付ファイルを指定してください。
添付ファイルが無いもの、1つだけのもの、2つ、3つなど、いろいろ条件を変えて指定します。
・例
*「\」はWindowsでは円記号のことです。
C:\mailPG\Files\test1.txt;C:\mailPG\Files\test2.txt
C:\mailPG\Files\test2.txt
C:\mailPG\Files\test3.txt;C:\mailPG\Files\test4.txt;C:\mailPG\Files\test5.txt
C:\mailPG\Files\test5.txt
*ファイル名は、必ずフルパスで指定する
*区切り文字には、半角の「;」(セミコロン)を使う
添付するファイルは、必ず実在するものを指定してください。無いファイルを指定すると、メール送信エラーになります。
準備が出来たら、メールを送信しましょう。
【8】フォーム「frm送信」を、再び表示します。
【9】あとは、これまでの動作確認と同じ要領で、メールを送信してください。
添付ファイルが増えているので、これまでよりメール送信に時間がかかります。
送信が完了するまで、しばらくお待ちください。
次は、送信したメールが、ちゃんと届いているか確認します。
【10】Excelから送信したメールを、メーラーで受信してください。
メールには添付ファイルが付いています。
【11】各メールの添付ファイルを確認してください。
・例 添付ファイルが2つの場合
・例 添付ファイルが3つの場合
ちゃんと複数のファイルが添付されています。
また送信先によって、添付ファイルの有無と数が、自動的に変わっていることがポイントです。
このようなメール送信を行なうには、普通のメーラーでは、メール作成に時間がかかります。また手動で添付すると、ファイルを間違ってしまう可能性もあります。
でもExcelからメールを送信することで、簡単に実現することができます。処理を自動化できるし、添付ファイルを間違うこともありません。
上記のVBAプログラムの解説は、次回のステップで行ないます。