- 締切済み
ファイルは既に開かれています(Error55)について
ある任意のパスにあるファイルの全てをある任意のパスへコピーする といったプログラムを作成しております。 ユーザーさんの環境で実行すると途中で実行時エラー:55ファイルは 既に開かれていますが発生してしまいます。 開発環境ではこのエラーの再現性が無く困っております。 (ちなみにユーザーさんのOSはNT4.0です) 中のプログラムはDo While・・・Loopでファイルがある間FileCopy ステートメントを実行しているのみです。 ファイルを開いてるわけでもありません。 こういったエラーに遭遇したことのあるという方、いらっしゃいましたら アドバイス宜しくお願い致します。 m(__)m
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- TAGOSAKU7
- ベストアンサー率65% (276/422)
おそらくみんなが言っていることが、うまく伝わらないのでしょうか? ソースを公開していただくのが、最良の解決策と思います。 参考までに別の方法でコピーを行う方法の過去スレ
- nakashi
- ベストアンサー率51% (21/41)
ユーザーさんの環境では 他のプロセス(プログラム)が動いていて、 それが目的のファイルを開いているのでは?
- todo36
- ベストアンサー率58% (728/1234)
# 回答1以外考えられません。 Close忘れがあるかどうかは、FreeFile(0), FreeFile(1)の値で 確認できます。
- kagep
- ベストアンサー率23% (171/721)
処理対象のファイルと、他のファイルのファイル番号が重なってしまうとか・・・ DoEventsは使ってませんよね?
- ats8181oyaji
- ベストアンサー率38% (94/244)
こんにちは、ats8181oyajiです 補足願います。 エラー時、必ず同じファイルですか? それとも、実行するたび異なりますか? 他のフォルダにするとエラーが出ないフォルダがありますか? エラーが出るフォルダでMSDOSプロンプトからDOSのCOPY命令でも エラーが出ますか? 何かシステムの隠しファイルがあるフォルダではありませんか? または、システムやプログラムが実行中のフォルダでは? 考え付くことを羅列してみました。 よろしく!
お礼
ごめんなさい。 再度、補足致します。 今回のエラーは必ず発生するという訳ではなくて、正常終了する時もあります。 が、かなりエラーの発生頻度が高いのです。 宜しくお願い致します。m(__)m
補足
早速のご回答有難うございます。 以下、補足致します。 >エラー時、必ず同じファイルですか? >それとも、実行するたび異なりますか? 毎回同じファイルという訳ではございません。 >他のフォルダにするとエラーが出ないフォルダがありますか? 今回のプログラムは月に1度動くことを前提としており、コピー先は月毎にフォルダを作り保存しているので(2003/03は'0303'といった感じです)、コピー先は毎回同じフォルダを対象としている訳でもありません。 >エラーが出るフォルダでMSDOSプロンプトからDOSのCOPY命令でも >エラーが出ますか? 確認してみます。 >何かシステムの隠しファイルがあるフォルダではありませんか? >または、システムやプログラムが実行中のフォルダでは? コピー元、コピー先共システムの隠しファイルがあるフォルダではありません。また、システムやプログラムが実行中のフォルダでもありません。 足りない情報がございましたら再度補足致します。 以上、宜しくお願い致します。
- taknt
- ベストアンサー率19% (1556/7783)
コピーする前に 開いたままで 閉じてないとか ないでしょうか?
お礼
さっそくのご回答有難う御座います。 コピー対象のファイルについては特にプログラム内でOpen, Close等の処理は 行っておりません。 他に何か思い当たることがございましたら宜しくお願い致します。m(__)m
補足
早速のご回答有難うございます。 以下、補足致します。 >処理対象のファイルと、他のファイルのファイル番号が重なってしまうとか・・・ FileCopy ステートメントの引数にはファイルのフルパスを指定しております。ファイル番号とか意識する必要があるのでしょうか? >DoEventsは使ってませんよね? DoEventsは使ってません。 以上、宜しくお願い致します。