- 締切済み
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' にアクセスできません。"のエラーが発生してしまいます。いろいろと調べているのですがまだわからないのでどこがおかしいか教えてください。よろしくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ppg-2
- ベストアンサー率39% (77/193)
現象が一致しないところがよくわかりませんね。 修正する前と同じエラーなのでしょうか? 同じような処理を行っている部分がないですか? それからfileclose関数をコールしないで抜けるロジックになっているとか? excelか何か他のアプリケーションでそのファイルを使っているということはありませんよね。 上記であげた点を確認してみてください。 それでも駄目な場合は、ソースの全体を貼り付けれてもらえればわかるかもしれません。
FileClose を FileClose(fileNum) に変更、でどうでしょう?
- ppg-2
- ベストアンサー率39% (77/193)
>FileClose FileClose(fileNum) ファイル番号を明示してクローズしないとだめです。 1回目でファイルをつかんだ状態になっているため当該現象が起こっています。
お礼
ご連絡ありがとうございます。ご指摘通りに試したところエラーがでてしまいました。フォーム1にはフォーム2を表示させるためのボタンがあります。フォーム2にデータを入力するためのテキストボックスと保存するためのボタン1、フォームを閉じるボタン2があります。一度フォーム2を表示させた状態でボタン1を何回押しても問題はありません。ただ、一回フォーム2を閉じて、再度表示させてボタン1を押しますとエラーが発生します。またその状態でも極まれにエラーが出ない場合もあります。他にどのようなことが考えられるでしょうか?よろしくお願い致します。
お礼
ありがとうございます。アドバイス頂いた様にもう一度じっくり確認したところ一部間違えていたところがありました。直した後に実行したところ以前のようにエラーはでていません。また何かありましたよろしくお願いいたします。親切にありがとうございました。