プロが教える店舗&オフィスのセキュリティ対策術

    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' にアクセスできません。"のエラーが発生してしまいます。いろいろと調べているのですがまだわからないのでどこがおかしいか教えてください。よろしくお願い致します。

A 回答 (3件)

現象が一致しないところがよくわかりませんね。



修正する前と同じエラーなのでしょうか?
同じような処理を行っている部分がないですか?
それからfileclose関数をコールしないで抜けるロジックになっているとか?

excelか何か他のアプリケーションでそのファイルを使っているということはありませんよね。

上記であげた点を確認してみてください。
それでも駄目な場合は、ソースの全体を貼り付けれてもらえればわかるかもしれません。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/11/27 22:03

FileClose





FileClose(fileNum)

に変更、でどうでしょう?
    • good
    • 0

>FileClose


FileClose(fileNum)

ファイル番号を明示してクローズしないとだめです。
1回目でファイルをつかんだ状態になっているため当該現象が起こっています。
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/11/27 19:19

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!