• 締切済み

VB実行時エラー75:「パス名が無効です」について

VBについて分からない事があり、投稿しました。 VBでDB(オラクル)のテーブルのデータをFD内のテキストファイルに 書き込むプログラムを作成しています。ちなみにFDは複数枚使用します。 (例:番号1のデータは1枚目のFD、番号2のデータは2枚目のFD・・・) このプログラムをボタンのクリック時イベントで書くのですが、 まずFDがマシンに挿入されているかを調べる為、 Open 「FD内のテキストファイルのパス」 For Input As #FileNo という風に行っており、FDが挿入されていない場合のみ、処理を中断し、 その他のエラーでは処理を中断しないようにしています。 そして、FDが挿入されていると、1枚目のFDにデータを書き込む処理をして、書き込んだ後にFDを取り出し、 次に2枚目のFDを挿入し、FDにデータを書く・・・ というような処理を行っているのですが、 2 枚目以降でFDを入れ替えて処理を継続すると、実行時エラー75「パス名が無効です」が発生します。 原因として考えられるのは、 マシン側がFDを差し替えたという状態を認識できないためにエラーが発生するものだと思っています。 (違うかもしれません) 対処としては、このエラーが発生した場合は、処理を中断せずに継続するという方法もあるのですが、 このエラーを発生させないようにしたいのですが、対処の仕方が全く分かりません。 もし何かわかる方がいらっしゃいましたら、ご教授御願い致します。

みんなの回答

  • -boya-
  • ベストアンサー率35% (176/494)
回答No.4

どのような処理をしているか分からないので、自信は無いのですが、、、 1.FileNoを取得する 2.ファイルをOpenする 3.書き込む 4.ファイルをCloseする 5.FDを差し替える この順番がおかしいのでは。どのようなルーチンを組まれているのですか? 1→2→3→4→1→2→3→4→・・・→4→5→1→2→3→4→1→2→3→・・・ ということですかね?

回答No.3

こんにちは まず、FDが未フォーマットや書込み禁止になっているってことは ないですよね(^^;;) 一度、1枚目のロジックを全部コメントにして 2枚目のオープンしてるところからプログラムが 実行するようにしてテストしてみてください。 もしかして、ループの中でぐるぐる回してるのでしたら このテストは意味無いですね~ どうでしょうか?

回答No.2

エラー自体の表示をしないようにしたいのか、 エラーの原因を追求したいのか、 そこが少し分かりません。申し訳ないです。 後者と仮定します。 分からない上で書くので、的外れかもしれませんが、 1枚目のFDと2枚目のFDに書き込むファイルは、 別ファイルですよね?どうなんでしょう・・・ 別ファイルなら、1枚目から2枚目に移るときに、 ファイルのCloseはされてますよね? 同一ファイルという事は無いと思うのですが、 そうだとしたら、1回しかOpenしてないとすると、 エラーになるかもしれません。 もし、1枚目も2枚目も何も入ってないディスクだと した場合、Open時にファイルは作成されます。 1枚目を抜く前にCloseして、2枚目に書き込むタイミング でOpenし直さないといけないと思います。 これも、考えにくいのですが、1枚目と2枚目の、 保存するディレクトリが違うとか・・・ Openでファイルはできますが、フォルダは自動で できないと思います。 うーん。分かりにくい文で申し訳ないです。 多分、解決にはならないかと思いますが・・・ もし、これで解決できないのでしたら、 「VB初心者友の会」の方へ質問されたほうが、 ここより専門的に聞けると思います。 お役に立てず申し訳ないです。

参考URL:
http://www2j.biglobe.ne.jp/~little-g/vbtomo.html
takekun22
質問者

補足

回答ありがとうございます。 >エラー自体の表示をしないようにしたいのか、 >エラーの原因を追求したいのか、 >そこが少し分かりません。申し訳ないです。 >後者と仮定します。 →申し訳ございません。どうしたいのかを詳しく書き忘れた当方のミスです。  (1)エラー自体を発生させないようにしたいのと、  (2)エラーの本当の原因が知りたいのです。 >分からない上で書くので、的外れかもしれませんが、 >1枚目のFDと2枚目のFDに書き込むファイルは、 >別ファイルですよね?どうなんでしょう・・・ →そうです。別ファイルです。 >別ファイルなら、1枚目から2枚目に移るときに、 >ファイルのCloseはされてますよね? →はい、クローズされています。 >これも、考えにくいのですが、1枚目と2枚目の、 >保存するディレクトリが違うとか・・・ >Openでファイルはできますが、フォルダは自動で >できないと思います。 →フォルダは使用せずにFDドライブの直下にテキストで保存しています。(例:番号1のデータは、A:\1.txt,番号2のデータは、A:\2.txt) 参考URLどうもありがとうございます。 調べ直します。 今回はご丁寧にどうもありがとうございました。 また何かありましたらよろしくお願い致します。

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

on error goto を 使ってください。

関連するQ&A