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を差し替えたという状態を認識できないためにエラーが発生するものだと思っています。 (違うかもしれません)
対処としては、このエラーが発生した場合は、処理を中断せずに継続するという方法もあるのですが、
このエラーを発生させないようにしたいのですが、対処の仕方が全く分かりません。
もし何かわかる方がいらっしゃいましたら、ご教授御願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
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
この回答への補足
回答ありがとうございます。
>エラー自体の表示をしないようにしたいのか、
>エラーの原因を追求したいのか、
>そこが少し分かりません。申し訳ないです。
>後者と仮定します。
→申し訳ございません。どうしたいのかを詳しく書き忘れた当方のミスです。
(1)エラー自体を発生させないようにしたいのと、
(2)エラーの本当の原因が知りたいのです。
>分からない上で書くので、的外れかもしれませんが、
>1枚目のFDと2枚目のFDに書き込むファイルは、
>別ファイルですよね?どうなんでしょう・・・
→そうです。別ファイルです。
>別ファイルなら、1枚目から2枚目に移るときに、
>ファイルのCloseはされてますよね?
→はい、クローズされています。
>これも、考えにくいのですが、1枚目と2枚目の、
>保存するディレクトリが違うとか・・・
>Openでファイルはできますが、フォルダは自動で
>できないと思います。
→フォルダは使用せずにFDドライブの直下にテキストで保存しています。(例:番号1のデータは、A:\1.txt,番号2のデータは、A:\2.txt)
参考URLどうもありがとうございます。
調べ直します。
今回はご丁寧にどうもありがとうございました。
また何かありましたらよろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- USBメモリー・SDカード・フラッシュメモリー 銀行が振込データの受け渡しに未だにFDを使っている理由は「FDDがAドライブ固定だから」って本当? 11 2022/06/02 03:53
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/02/05 09:55
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/03 12:30
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/06 13:01
- デスクトップパソコン 阿武町4630万円誤送金事件。町工場ではPC98が現役なのに「未だにFDを使ってるの?」って・・・ 8 2022/06/01 19:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/03/08 09:08
- Access(アクセス) エクセルのマクロについて教えてください。 2 2023/02/04 14:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Returnに対するGoSubがありません
-
FTPの送信結果を検知したい
-
エラー:インクルードファイル ...
-
「パス名が無効です」の発生原因
-
「アクティブ ユーザーが多すぎ...
-
アクセスのクエリでコンパイル...
-
EXCEL VBAで複数人でのADO接続...
-
batファイルでレジストリキーの...
-
すでにファイルが開かれている...
-
VB6 Dir関数で52エラー発生
-
access テキストボックスの値取得
-
Access2013にてドラッグ&ドロ...
-
ACCESS VBAでのインポート
-
VBAのChangeFileOpenDirectory...
-
VBA ExecuteExcel4Macro 型が一...
-
NAS上のファイルの使用中が解除...
-
CSVファイルが開かれているかど...
-
VBでファイルが開かれているか...
-
エクセルVBAでパワーポイントを...
-
マクロについての質問
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBでファイルが開かれているか...
-
batファイルでレジストリキーの...
-
Returnに対するGoSubがありません
-
VBから参照できないCのDLLを使...
-
「パス名が無効です」の発生原因
-
access テキストボックスの値取得
-
アクセスのクエリでコンパイル...
-
PowerShellを使って関連付けら...
-
freadでデータがない場合の読込...
-
【COBOL】read文でエラー
-
gccを行ってもexeファイルが生...
-
ファイルクローズ(fclose)でエ...
-
VB6 Dir関数で52エラー発生
-
ACCESS VBAでのインポート
-
NAS上のファイルの使用中が解除...
-
FTPの送信結果を検知したい
-
エクセルマクロでエラーの原因...
-
Access2013にてドラッグ&ドロ...
-
EXCELのVBAでWORDが開いてある...
-
fcloseで発生するエラーについて。
おすすめ情報