スポンサードリンク

ExcelVBAでメールを受信するプログラムは2段階処理が必要。

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上のデータベースを使った大掛かりなショッピングカートを作らなくても、
既存のフォームにちょっと手を加えるだけで、ネットショップの仕組みが出来ますよ。

具体的なメール受信プログラムについては、次回からの記事に掲載します。

スポンサードリンク






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