BASP21 DLLとAccess VBAによる
メールを利用したファイルの送受信サンプル

UnLHA32.DLL使用の圧縮解凍バージョン追加(2002年3月)


BASP21 DLL(びーえーえすぴーにじゅういち)は、ASPの VBScript やVisual Basic、EXCEL VBA WSH(Windows Scripting Host)などから使える汎用のコンポーネント。非常に高機能であり、しかもフリーウェアであることは大変ありがたく、頭がさがる思いです。

Baba Centerfolds (勉強になります)

Microsoft Officeの製品群では、オブジェクトを簡単に添付ファイルとしてメールすることはできますが、受け取る側は、メーラーを起動しメールを受信し添付ファイルを保存するという手順をふまなければなりません。本コンポーネントをMicrosoft Access VBAから呼び出すことにより、一連の処理の中でメールやFTPにアクセスすることができ、ユーザーにメールを意識させることなく端末間でファイルの転送ができますので、アプリケーションの機能を広げることができます。


サンプル(basp21.mdb …Microsoft Access2000ファイル) 136KB について

BASP21を知り、利用するにあたって、Baba Centerfolds にて提示いただいているコードサンプルが主にVBだったので、Access VBAのサンプルを作ってみました。もちろん、VBのコードでも基本的に同じなので十分に参考になるのですが、ビギナーにとっては結構ドキドキものなので。

使用方法

BASP21 DLL をBaba Centerfolds からダウンロードします。インストール方法はBaba Centerfolds をご参照ください。

ダウンロードしたbasp21.mdbは適当なフォルダに置いてください。なお、basp21.mdbにはMicrosoft Access 2000が必要です。

Microsoft Access Version 2002では、動作確認していません。どなたか、お試しいただければと思います。

basp21.mdbにはSendMailフォームとRcvMailフォームが入っています。フォームの各テキストボックスの値は、プロパティのコントロールソースに固定値(ダミー)として設定してありますので、必要に応じて、変更する必要があります。

受信したメールデータと添付ファイルは、basp21.mdbと同じフォルダに保存されます。

 


SendMailフォーム

ご注意:サンプルはSendMailフォームから送られてきた添付ファイル付メールをRcvMailフォームで受信することを前提としています。あなたご自身のメインのメールアドレスでテストしないほうが良いでしょう。
  • 宛先:宛先のメールアドレス
  • 件名:メールの件名になります。
  • 本文:メールの本文となります。このサンプルは、添付ファイルの送信を主目的としています。
  • 送り元:あなたのメールアドレス
  • SMTP:利用しているSMTPサーバー名
  • 添付ファイル:適当なファイルをフルパスで指定してください。
  • メール送信ボタン:ここのマウスクリックのイベント・プロシージャにVBAが入っています。

RcvMailフォーム

  • メールアカウント:利用しているPOP3サーバーのメールアカウント名
  • パスワード:利用しているPOP3サーバーのパスワード
  • POP3サーバー名
  • ステータス:受信状況のログを表示します。
  • メール受信ボタン:ここのマウスクリックのイベント・プロシージャにVBAが入っています。

プロシージャの中で、変数 strFile に取り出した添付ファイルのフルパスを取得していますので、これを使ってファイルのインポートなどをすればよいのでは。


basp21LZH.mdb…Microsoft Access2000ファイル(176.00KB (180224 バイト))について

参考にさせていただいた諸先輩・諸巨匠のURL

試用にあたっては、UNLHA32.DLL for Win32がインストールされている必要があります。

  1. 外見は、上記 basp21.mdb と同様ですが、ファイルを圧縮 → 添付ファイルとして送信 ⇒ 受信 → 添付ファイルがLZH圧縮ファイルなら解凍 ということをやっています。
  2. Module1、Module2、Module3に圧縮解凍関連の関数を定義しています。
  3. ソースファイルと圧縮ファイルは1対1です。
  4. 送信のとき、添付ファイル(aFile)の圧縮ファイルは添付ファイル(aFile)と同じフォルダに保存されます。
  5. 受信したメールデータ、取り出した添付ファイル、解凍したファイルは、basp21LZH.mdbのインストールされているフォルダに保存されます。
  6. 解凍したファイルのフルパスは、フォームRcvMail のプロシージャの中で strSource に取り出しています。