先日、http://www.simple-sys.com/blog/2008/04/04/289/の記事で、注文メールの内容をエクセルに取り込む仕組みについて書きました。
その際は、メールの本文をExcelのシートに貼り付けて取り込んでいく、というものでした。
ただ、取り込むメールの件数が増えてくれば、その作業も結構面倒なものになります。
エクセル上からメールの受信→内容の解析→内容を取り込みExcel上に貼り付ける、という一連の流れをボタン1つで実行する仕組みのサンプルを作ってみました。
この仕組みをサンプルで動作させるには、以下のものが必要です。
- mailtorikomi.xls
- BSMTP.DLL メールを受信するために使用します。
- メールを受信するメールアドレス(普段使っていないメールアドレスでお試しください)
- 取り込みのテストを行うためのダミーのメール。
以下、操作手順です。
まず、BSMTP.DLLをインストールします。
Down Load! BASP21-2003-0211.exe (1.44MB)をダウンロードして実行するか、Down Load! Bsmtp20070629-587.lzh(119KB)をダウンロードし、解凍してbsmtp.dllを Windowsのsystemディレクトリ(c:¥windows¥system¥ c:¥winnt¥system¥ 等)にコピーしてください。
次にmailtorikomi.xlsをダウンロードして、開いてください。

Sheet1のメールサーバー等を設定する欄(青の部分)を入力してください。
使用するメールアドレスは普段使わないメールアドレスでメールサーバーに未受信のメールがない状態でご使用ください。
(フリーメールなどでもPOP3で読み出せるのであれば、問題ありません)
件名が「楽○注文メール」から始まるメールを取り込むように設定してありますが、不具合などで取り込み対象以外のメールが削除されても当方では責任を負いかねます。ご了承ください。
メール保存フォルダには、受信したメールがファイルにして保存されます。あらかじめフォルダ(初期値はc:¥maildata¥となっています)を作成して置いてください。
ここまで設定して、「サーバー内の全メール件数を確認」ボタンを押してください。

このように「0件」と表示されることを確認してください。
(エラーが表示される場合は、BSMTP.DLLがきちんとインストールされているか、または青い部分の設定が間違っていないかをご確認ください。)
それでは実際にメールの取り込みをやってみます。
ダミーのメールが必要です。メールを取り込むメールアドレスのアカウントから、
のアドレスに空メールを送信してください。しばらくすると、メールが届きますので、そこに記載されているアドレスへアクセスしてください。

このようなページが表示されますので、フォームからダミーでデータを入力してください。
メールを作成するのが面倒であれば、「ダミー8件送信」のボタンを押すと、8件ダミーで送信します。
送信ボタンを押すと、件名が「楽○注文メール」というメールが空メールを送信したメールアドレスに届きます。
(この際、メールソフトで受信してしまうと、mailtorikomi.xlsから受信できなくなってしまうので、受信しないで下さい)
では取り込んでみます。mailtorikomi.xlsの「サーバー内の全メール件数を確認」ボタンを押してみてください。

このように、サーバー内の全てのメールの件数が表示されます。
「メール取り込み実行」ボタンを押すと、取り込みを開始します。

このようにメールの内容を取り込みます。
もちろん、このプログラムでは決まった形式のメールしか受信できませんが、VBAで記載されている内容を修正すれば、いろいろな形式でのメールを取り込むことが可能になります。
ご質問などがあれば、toi@simple-sys.com (@は半角に直してください)までお問い合わせください。
