このコードでのデバックは成功したのですが、TEXTBOX1にファイルネーム
C:\Users\???\Documents\???と入力しても’パスが拒否されました’と出てしまいます。
どう解決したらよいのでしょうか、宜しくお願いします。
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sr As System.IO.StreamReader = Nothing
Try
Dim file As String = TextBox1.Text
sr = New System.IO.StreamReader(file, System.Text.Encoding.GetEncoding("shift_jis"))
Dim doc As String = ""
Do Until sr.EndOfStream
doc &= sr.ReadLine & vdcrlf()
Loop
TextBox2.Text = doc
Catch ex As Exception
MessageBox.Show(ex.Message, "read")
Finally
If sr IsNot Nothing Then
sr.Close()
sr.Dispose()
End If
End Try
End Sub
Private Function vdcrlf() As String
Throw New NotImplementedException
End Function
End Class
こんばんは
とても良く書けてますね。
修正したところは、1箇所だけです。
>C:\Users\???\Documents\???
Documentsは時々アクセス権がなくて、どうしようもないときがあります。
その場合は、手動で、フォルダーやファイルをアクセスできるようにしてください。
蛇足ですが、文字列の取得ではなく、ファイルの取得の場合、サンプルのようにわざと
Catch ex As Exception
アクセスできないフォルダーが」あったとき、エラーが生じても無視するように
ここを開けておくことがあります。
End Try
修正したコードです。
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sr As System.IO.StreamReader = Nothing
Try
Dim file As String = TextBox1.Text
sr = New System.IO.StreamReader(file, System.Text.Encoding.GetEncoding("shift_jis"))
Dim doc As String = ""
Do Until sr.EndOfStream
doc &= sr.ReadLine & vbNewLine 'ここの部分を修正しました
Loop
TextBox2.Text = doc
Catch ex As Exception
' MessageBox.Show(ex.Message, "read")'ここから下の部分はエラーがあった場合無視
' Finally 'するために無効にしてあります。元に戻してください
'If sr IsNot Nothing Then
'sr.Close()
'sr.Dispose()
'End If
End Try
sr.Close()
sr.Dispose()
End Sub
Private Function vdcrlf() As String
Throw New NotImplementedException
End Function
End Class
後の細かい修正は頑張って直してください。
わからないときは、また質問してね。
お礼
ありがとうございました。どうにかTEXTBOXに記入できました、あとは取り込みしたデータとCADを連携させるコードに挑戦します。本当にありがとうございました。また、宜しくお願いします。