「教えて!ピックアップ」リリース!

VB2010で、ファイルを開いていると下記のコードでエラーがでます。
Dim SR As New System.IO.StreamReader(AppPath & "諸元一覧.csv", System.Text.Encoding.Default)

「諸元一覧.csv」ファイルを閉じてください。
とメッセージを出し、ExitSubしたいのですが、
どういうコードにすればよいのでしょうか。
教えてください。よろしくお願いいたします。

A 回答 (2件)

先の回答にあるように、ファイルを開いていてもエラーが出ない場合もあります。



ファイルがロックされている場合は IOException が発生するようなので、
Try ~ Catch で IOException をエラートラップする方法もあります。
(※ただのエラートラップではファイルが存在しない等の他のエラーと
 区別できませんので、エラーの種類まで限定してエラートラップします。)
    • good
    • 1
この回答へのお礼

いつもよい回答ありがとうございます。
勉強になりました。
下記コードで対応しました。

Try
Dim SR As New System.IO.StreamReader(AppPath & "ROHR諸元一覧.csv", System.Text.Encoding.Default)
<処理>
Catch ex As System.IO.FileNotFoundException
MsgBox("「ROHR諸元一覧.csv」ファイルが同じ階層にありません。")
Me.Close()
Catch ex As System.IO.IOException
MsgBox("「ROHR諸元一覧.csv」ファイルが開いている可能性があります。")
Me.Close()
End Try

お礼日時:2011/03/08 15:38
    • good
    • 1

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング