• 締切済み

ファイルは既に開かれています(Error55)について

ある任意のパスにあるファイルの全てをある任意のパスへコピーする といったプログラムを作成しております。 ユーザーさんの環境で実行すると途中で実行時エラー:55ファイルは 既に開かれていますが発生してしまいます。 開発環境ではこのエラーの再現性が無く困っております。 (ちなみにユーザーさんのOSはNT4.0です) 中のプログラムはDo While・・・Loopでファイルがある間FileCopy ステートメントを実行しているのみです。 ファイルを開いてるわけでもありません。 こういったエラーに遭遇したことのあるという方、いらっしゃいましたら アドバイス宜しくお願い致します。 m(__)m

みんなの回答

  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.6

おそらくみんなが言っていることが、うまく伝わらないのでしょうか? ソースを公開していただくのが、最良の解決策と思います。 参考までに別の方法でコピーを行う方法の過去スレ

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=423672
  • nakashi
  • ベストアンサー率51% (21/41)
回答No.5

ユーザーさんの環境では 他のプロセス(プログラム)が動いていて、 それが目的のファイルを開いているのでは?

  • todo36
  • ベストアンサー率58% (728/1234)
回答No.4

# 回答1以外考えられません。 Close忘れがあるかどうかは、FreeFile(0), FreeFile(1)の値で 確認できます。

  • kagep
  • ベストアンサー率23% (171/721)
回答No.3

処理対象のファイルと、他のファイルのファイル番号が重なってしまうとか・・・ DoEventsは使ってませんよね?

yumimiya
質問者

補足

早速のご回答有難うございます。 以下、補足致します。 >処理対象のファイルと、他のファイルのファイル番号が重なってしまうとか・・・ FileCopy ステートメントの引数にはファイルのフルパスを指定しております。ファイル番号とか意識する必要があるのでしょうか? >DoEventsは使ってませんよね? DoEventsは使ってません。 以上、宜しくお願い致します。

回答No.2

こんにちは、ats8181oyajiです 補足願います。 エラー時、必ず同じファイルですか? それとも、実行するたび異なりますか? 他のフォルダにするとエラーが出ないフォルダがありますか? エラーが出るフォルダでMSDOSプロンプトからDOSのCOPY命令でも エラーが出ますか? 何かシステムの隠しファイルがあるフォルダではありませんか? または、システムやプログラムが実行中のフォルダでは? 考え付くことを羅列してみました。 よろしく!

yumimiya
質問者

お礼

ごめんなさい。 再度、補足致します。 今回のエラーは必ず発生するという訳ではなくて、正常終了する時もあります。 が、かなりエラーの発生頻度が高いのです。 宜しくお願い致します。m(__)m

yumimiya
質問者

補足

早速のご回答有難うございます。 以下、補足致します。 >エラー時、必ず同じファイルですか? >それとも、実行するたび異なりますか? 毎回同じファイルという訳ではございません。 >他のフォルダにするとエラーが出ないフォルダがありますか? 今回のプログラムは月に1度動くことを前提としており、コピー先は月毎にフォルダを作り保存しているので(2003/03は'0303'といった感じです)、コピー先は毎回同じフォルダを対象としている訳でもありません。 >エラーが出るフォルダでMSDOSプロンプトからDOSのCOPY命令でも >エラーが出ますか? 確認してみます。 >何かシステムの隠しファイルがあるフォルダではありませんか? >または、システムやプログラムが実行中のフォルダでは? コピー元、コピー先共システムの隠しファイルがあるフォルダではありません。また、システムやプログラムが実行中のフォルダでもありません。 足りない情報がございましたら再度補足致します。 以上、宜しくお願い致します。

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.1

コピーする前に 開いたままで 閉じてないとか ないでしょうか?

yumimiya
質問者

お礼

さっそくのご回答有難う御座います。 コピー対象のファイルについては特にプログラム内でOpen, Close等の処理は 行っておりません。 他に何か思い当たることがございましたら宜しくお願い致します。m(__)m

関連するQ&A