VBプログラマ質問スレ(6.0以前) Part39
■ このスレッドは過去ログ倉庫に格納されています
0428デフォルトの名無しさん
NGNGただ今、Win2000+VB6(SP6)で
・ファイルリストから.lzhファイルを選択(複数選択可)
・.lzhファイル解凍(解凍後は固定長のテキストファイル)
・データベース組込み
…といった流れの仕事をおこなうソフトを作成中です。
そのソフトの熟練者が使うぶんにはまったく問題ないでしょうが、初心者ユーザーが使用するとき、
誤ってまったく関係のない、組込みの対象外の.lzhファイルを選択してしまうことも考えられます。
そのような状況を考慮し、解凍時にはファイル展開用の TempFolderを作成するわけですが
選択ファイルに組込み対象外の.lzhファイルが含まれていた場合、一連の作業終了後、
FileSystemObjectオブジェクトの DeleteFolderメソッドを使って TempFolderを削除しようとすると、
書き込みできません。(Error70)
…というエラーがでます。
・選択されたファイルが組込み対象のファイルのみ
・.lzhを複数選択されたとき、組込み対象のファイルが、リストの1番最後であった場合
以上のような状況では、エラーは発生せず TempFolderは削除されます。
自分でVB本やネットで色々調べてみたところ、Closeされていないファイルを削除しようとした場合
このエラーが発生するらしいです。しかし、私のコードでは対象外ファイルの場合は Openしていません。
On Error Resume Next で回避することもできますが TempFolderは残されたまま終了してしまいます。
このエラーの原因は何なのでしょうか?解決方法はあるのでしょうか?
どうかご指導よろしくお願いいたします。
■ このスレッドは過去ログ倉庫に格納されています