• 締切済み

ExcelVBAでOutlookExpressの添付ファィルを指定フォルダに保存したいのですが。

ExcelVBA使ってOutlookExpressの指定受信フォルダに入っている複数のメールに添付されている同一フォーマットのExcelbookを、指定するフォルダに保存するマクロをつくりたいのですが出来るでしょうか。 尚、受信フォルダ、添付ファィルは単一の名称が付いているものとし、受信メールの数は一定ではありません。 更に、指定フォルダへの保存が終了したメールは開封済みにし、 再度マクロを実行した際は未開封メールのみが新規保存対象となるようにしたいのです。 使用の MS OFFICEは2000, OutlookExpressは6です。  

みんなの回答

  • nta
  • ベストアンサー率78% (1525/1942)
回答No.2

LHA32.exeにコマンドを与えるよりもLHA32.dllのAPIを使ってプログラミングする方が簡単に操作できます。が、LHA32.dllをインストールしていないPCではできませんから、まずいですかね。

参考URL:
http://ws.31rsm.ne.jp/~pension/access/tips/57_unlha.htm
  • nta
  • ベストアンサー率78% (1525/1942)
回答No.1

原理的には不可能ではありませんが、プログラミングは非常に大変だと思います。VisualBasicでは苦手なBinaryファイルを操作する必要があります。BASE64のデコードのプログラムも作成しなければなりません。 (1)Outlook Expressの メールフォルダにある*.dbxファイルを解読する。 ファイル構造の情報はたとえば http://oedbx.aroh.de/menu.html ここにはC++のプログラムサンプルがあります。 (2)メールごとに分割する。 (3)添付ファイル部分を分離する。 (4)BASE64などのデコード たとえばこんな感じ、 http://www.pstruh.cz/tips/detpg_Base64.htm 少ないですがuuencodeなどの添付ファイルがあればそれに対応する必要がある。 (5)Excelファイルとして出力、フォルダへの移動 いずれにしてもかなりのプログラミング能力が必要です。

Qchu
質問者

お礼

長い間お礼が出来なくて申し訳ないです。 現在の小生のスキルでは、出来そうにないので、レベルダウンして、lha32.exeを使用して自己解凍ファィルを作成するVBAマクロを作りたいのですが、教えて頂けないでしょうか。