Excelでメールを受信するVBAプログラムは、手順が2段階になります。
実際にプログラミングする前に、概要を説明しておきます。
ExcelのVBAからも利用できるコンポーネントのBASP21では、
メールの送受信に関するメソッドが2つあります。
それはRcvMail(メール受信)とReadMail(メール読込み)です。
まずRcvMailメソッドは、POP3プロトコルでメールを受信することができます。
メールサーバーからメールを受信して、
パソコン内の指定したフォルダに、テキスト形式で保存します。
どのフォルダに保存するかは、ディレクトリ名を指定することで、簡単に設定できます。
フォルダ内にはメール1件につき、1つのテキストファイルが作成されます。
またRcvMailには、様々な引数が用意されています。
RcvMail(svname,user,pass,command,dirname)
これらの引数を指定することで、メール受信に関する細かい設定が可能です。
例えば、メール数を調べたり、一度の受信数を制限したり、
メールサーバーのメールを削除するか残すかなどの設定もできます。
件名や送信者を調べることも可能です。
ということは、特定の送信者からのメールだけを選別して受信することもできるのです。
だからちょっと工夫することで、スパムメール、迷惑メールは100%防げますよ。
これがメール受信プログラムを、わざわざ独自に作る大きなメリットなのです。
次にReadMailメソッドで、フォルダに保存されたメールの中身を読み込みます。
受信したテキストファイルの中身には、メールの本文を含め、ヘッダーや添付ファイル名
などの情報が記載されています。
これらの情報がメソッドからの戻り値として、配列で返されます。
あとはプログラムの中で配列から情報を取り出して利用します。
例えば、Excelのセルに表示したり、Accessなどのデータベースに保存することが可能です。
データを変数の中に取り込んでしまえば、あとの加工は自由自在です。
送信者ごとに分類したり、メール本文から特定の情報を取り出す、解析も簡単。
アイデア次第では、メールだけでいろんなことが出来ます。
会社の業務レポートをデータベース化したり、
商品の受注データを取り込めば、販売管理や顧客管理ツールなどもメールでできてしまいます。
これが二つ目の大きなメリットになるわけです。
ps:
最終的にはメールで受信すれば良いわけで、Webフォームから送ったメールでもOKなんです。
わざわざWeb上のデータベースを使った大掛かりなショッピングカートを作らなくても、
既存のフォームにちょっと手を加えるだけで、ネットショップの仕組みが出来ますよ。
具体的なメール受信プログラムについては、次回からの記事に掲載します。
スポンサードリンク
スポンサードリンク