• 締切済み

ファイルは既に開かれています(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

  • 教えてくださいエラーについて

    pc初心者でわからなくてすみません いつからかは、分からないのですが アプリケーションを起動すると 16 ビット MS-DOS サブシステム 実行またはインストールしようとしているプログラムへのパス config.nt システム ファイルは MS-DOS および Microsoft Windows アプリケーションを実行するのに適していません。アプリケーションを終了するには、[閉じる] を選んでください。 というエラーがでて起動しません どうすればよいでしょうか

  • Filecopyステートメントでエラー

    今VB6SP5を用いてRAS接続で サーバーへファイルをコピーするプログラムを 作っています ファイルのコピー方法はFilecopyステートメントを使用 この時ファイルコピーでエラーになる事があるのですが 原因は何が考えられますか サーバはWindows 2000 SP4 クライアントも同様 Windows2000 SP4 以上です

  • バッチファイルを実行するとエラーが出る

    win2000を利用しています。起動時に自動的にアプリケーションを実行させるバッチファイルを作りたいのですがエラーがでます。 以下のように書いています。このバッチファイルをスタートアップに入れて実行させたいと思っています。 そして試しに手動で実行してみると、構成ファイルが見つからない、パス名を確認してくださいと言ったいエラーが出ます。 パスが間違っているのかと思い、 「C:\Program Files\Internet Explorer\IEXPLORE.EXE」だけをファイル名を指定して実行をするとちゃんとIEが起動します。 何が間違っているのかわからないのですが、ヒントだけでもお願いします。 test.bat(ファイル名) --------------------------- start C:\Program Files\Internet Explorer\IEXPLORE.EXE ---------------------------

  • エクセルファイルのダウンロードエラー

    Windows2000ProでIIJを起動し、Webフォルダ上からエクセルファイルをダウンロードしようとしてます。 しかし、http://~/aaaa.xls とアドレスに入力し、ダウンロードが始まると思いきや、以下のエラーになってしまいます。 Microsoft Excel (0x800A03EC) ファイル 'http://133.241.201.20//exceltest/原価管理.xls' にアクセスできません。次のいずれかの理由が考えられます。 ・ ファイル名またはパス名が存在しない可能性があります。・ 開こうとしているファイルは、ほかのユーザーまたは プログラムによって開かれています。ほかのプログラムで開いている場合、ファイルを閉じた後、もう一度実行してください。 ・ 保存しようとしているファイルと同じ名前のファイルが、既に読み取り専用のファイルとして保存されています。 別の名前で保存してみてください。 もちろん、このエラーで指摘しているパス、また他ユーザでファイルが開いてないかはチェック済みです。 自分の中ではこのエクセルファイルが格納されているWebフォルダの設定がおかしいのでは?と予想しているのですが... この手のエラーを解決するのには、どのようにすればよろしいのでしょうか? ご存知の方いましたら、ご鞭撻お願い致します。

  • program filesにファイルをコピーするとエラー

    vbでprogram filesにファイルをコピーするとエラーが発生します。filecopy関数とFileSystemオブジェクトでもエラーが発生します。Win2000では上手くいきます。Win98では失敗します。何か違いがあるのでしょうか?

  • マクロファイルコピーで実行時エラー75

    Win10,office2010 マクロで FileCopy "C:\aaa\test.bat", "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\test.bat" を実行すると、 実行時エラー75 パス名が無効です というエラーが発生します。 win7のパソコンでは上記マクロで問題なく動作します。 何が問題なのでしょう? Win10でエクスプローラにてコピーすると 対象のフォルダへのアクセスが拒否されました このフォルダへコピーするには権限が必要です。 と表示されながらも”はい”をクリックでコピーは出来ます。 ログイン者はadmin権限です。 なお、 ユーザアカウント制御の設定 通知しない にしています。

  • 実行時エラー 5 ファイル名の書き出し

    これはどういう意味のエラーなのでしょう? Const FolderName As String = "C:\Users" Sub ファイル名を書き出す() Dim myFile As String myFile = Dir(FolderName & "\*.*", vbDirectory) Do While myFile <> "" Debug.Print myFile myFile = Dir Loop End Sub このようにしてフォルダの中のファイル名を書き出していますが ある特定のファイル名になると、myFile = Dirの部分で、 実行時エラー 5 プロシージャーの呼び出し、または引数が不正 が発生します。 ファイル名をただ読み込んでるだけなのに、どうしてエラーが発生するのでしょうか?

  • エクセルVBA実行時のエラー:DLLファイルが見つ

    タイトル:エクセルVBA実行時のエラー:DLLファイルが見つかりません  質問させていただきます。どうぞよろしくお願いいたします。 環境:PC1~3の全てが、Excel2010、Win7になります。 初めてVBAから読み込むためのDLLファイルを作成いたしました。    PC1上で動作確認できている2つのファイル(Test4.dll(VC++2013にて作成)と それを呼び出すVBAのついたエクセルファイル)を、 PC2とPC3に移動し、VBAを実行しましたところ 何故かPC3でのみ下記エラーが発生いたします。 >実行時エラー'53' >ファイルが見つかりません。Test4.dll ・2つのファイルは同じフォルダ内で実行しております。 ・VBAのカレントパスは   ChDrive Left(ThisWorkbook.Path, 1)   ChDir ThisWorkbook.Path で変更しております。  試しにC:\Windows\System32と C:\Windows\SysWow64にも Test4.dllをコピペしてみましたが、同じエラーが出てまいります。 ・PC3のみ違うところを探してみましたが、思いつくのは下記くらいでございます。   1.VSが入っておりませんでした。(必要なのでしょうか??)   2.実行しているパスが違います。     PC1とPC2の実行パス:      D:\Users\Administrator\Documents\VBA_TEST     PC3の実行パス:      D:\Documents\VBA_TEST              もし何か原因として思いつかれる事がございましたらお教えいただけないでしょうか。 お詳しい方がいらっしゃいましたら何卒よろしくお願いいたします。

  • ファイルが開けません

    ファイルを開こうとすると「指定されたデバイス、パス、またはファイルにアクセスできません。アクセス許可がない可能性があります。」と出て開けません。 試したのは管理者権限のあるユーザーです(ユーザーアカウントはひとつしかありません) また、右クリックメニューにある「別のユーザーで実行」から「許可されていないプログラムの動作からコンピュータとデータを保護する」のチェックを外そうとしても、外せません(外して起動しようとしても同じエラーが出る) このチェックはなぜ外れないのでしょうか。 関係あるか分かりませんが、このエラーが出るのは歴史隆々というソフトのフリー版、Ver2.20.03fのパッチです。(もうひとつエラーが出るファイルがあったんですが、消してしまい名前が分からなくなりました) Ver2.15f本体のexeはちゃんと開けるのです。どうかよろしくお願いします。

  • ネットワーク上のファイルのコピー

    ネットワーク上のファイルをローカルにコピーする為に FileCopy("\\cp1\D$\aaa\a.txt", "d:\b.txt") を実行したところ ファイル名または番号が不正です(エラー52) が出てしまいます ネットワーク上のPCとユーザとパスワードが違うのでログインでエラーになっているのですが ネットワーク上のPCにユーザを登録するのではなく ユーザ名とパスワードを指定してログインしてから ファイルをコピーする方法はありますでしょうか?

専門家に質問してみよう