- ベストアンサー
すでにファイルが開かれている時のエラー回避
VB2010で、ファイルを開いていると下記のコードでエラーがでます。 Dim SR As New System.IO.StreamReader(AppPath & "諸元一覧.csv", System.Text.Encoding.Default) 「諸元一覧.csv」ファイルを閉じてください。 とメッセージを出し、ExitSubしたいのですが、 どういうコードにすればよいのでしょうか。 教えてください。よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
先の回答にあるように、ファイルを開いていてもエラーが出ない場合もあります。 ファイルがロックされている場合は IOException が発生するようなので、 Try ~ Catch で IOException をエラートラップする方法もあります。 (※ただのエラートラップではファイルが存在しない等の他のエラーと 区別できませんので、エラーの種類まで限定してエラートラップします。)
その他の回答 (1)
- ShowMeHow
- ベストアンサー率28% (1424/5027)
回答No.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