好ましからざる人物

敗北

Outlookのメール受信イベントで対象メールだったらZip圧縮(パスワード付き)されている添付ファイルを解凍する処理。 どうにもプログラムからパスワードを与えることが出来ずパスワード入力のダイアログが出てしまう。 昨日1日調べたりデバッグしても解決しなかった。 このままでは先に進まないので、不本意ながらフリーソフトの力を借りることにした。 7-ZipというソフトをShell関数で呼び出しコマンドライン引数でパスワードを設定することで無事解凍することができた。 そこまではよかったんだけど、解凍できたはずのExcelファイルを
    For Each fileObj In fileSystemObj.GetFolder(varFilePath).Files
なんてやって拾おうとするんだけど、拾えない。 デバッガ上では問題なく拾える。 もちろんファイルも出来ている。 いろいろやってみると、どうやら For Each が走るのが早すぎるみたいで、解凍後にSleepを1000msほど入れてみるとやっと動いた。 まだ解凍できる前に7-Zipから返って来るんだろうね。 しっかし、Sleep を入れるってどうよ? まったく腹立たしい。
--

Nessun commento: