• 締切済み

VB2005でのファイル操作について

    Dim filedata As String Dim fileNum As Integer Dim fileName As String Dim i As Integer fileName = "C:\Paradata.txt" fileNum = FreeFile() FileOpen(fileNum, fileName, OpenMode.Output) For i = 0 To 9 filedata = data(i, 0) & "," & data(i, 1)・・・・・ PrintLine(fileNum, filedata) Next FileClose あるボタンを押しますと上記のようにテキストファイルにデータを保存しようとしているのですが、1回目のボタンクリックではエラーが無いのですが2回目以降は"別のプロセスで使用されているため、プロセスはファイル 'C:\Paradata.txt' にアクセスできません。"のエラーが発生してしまいます。いろいろと調べているのですがまだわからないのでどこがおかしいか教えてください。よろしくお願い致します。

みんなの回答

  • ppg-2
  • ベストアンサー率39% (77/193)
回答No.3

現象が一致しないところがよくわかりませんね。 修正する前と同じエラーなのでしょうか? 同じような処理を行っている部分がないですか? それからfileclose関数をコールしないで抜けるロジックになっているとか? excelか何か他のアプリケーションでそのファイルを使っているということはありませんよね。 上記であげた点を確認してみてください。 それでも駄目な場合は、ソースの全体を貼り付けれてもらえればわかるかもしれません。

VB2005
質問者

お礼

ありがとうございます。アドバイス頂いた様にもう一度じっくり確認したところ一部間違えていたところがありました。直した後に実行したところ以前のようにエラーはでていません。また何かありましたよろしくお願いいたします。親切にありがとうございました。

noname#22650
noname#22650
回答No.2

FileClose を FileClose(fileNum) に変更、でどうでしょう?

  • ppg-2
  • ベストアンサー率39% (77/193)
回答No.1

>FileClose FileClose(fileNum) ファイル番号を明示してクローズしないとだめです。 1回目でファイルをつかんだ状態になっているため当該現象が起こっています。

VB2005
質問者

お礼

ご連絡ありがとうございます。ご指摘通りに試したところエラーがでてしまいました。フォーム1にはフォーム2を表示させるためのボタンがあります。フォーム2にデータを入力するためのテキストボックスと保存するためのボタン1、フォームを閉じるボタン2があります。一度フォーム2を表示させた状態でボタン1を何回押しても問題はありません。ただ、一回フォーム2を閉じて、再度表示させてボタン1を押しますとエラーが発生します。またその状態でも極まれにエラーが出ない場合もあります。他にどのようなことが考えられるでしょうか?よろしくお願い致します。

関連するQ&A