こんにちは。質問させていただきます。
(Visual Basic 2010 エクスプレス)
下記のように書いたのですが、ファイルの内容どおりに読み込んでくれません。
ファイルの中身は
さささ,0,ししししししし
すすす,0,せせせせせせ
そそそ,0,たたたたた
となっているのですが、最初の一行を読み込み、しかも最初の一行を繰り返し2段目3段目の
テキストボックスに表示させてしまいます。
具体的には
さささ ししししししし
さささ ししししししし
さささ ししししししし
です。
本来は
さささ ししししししし
すすす せせせせせせ
そそそ たたたたた
と表示させたいのです。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Using reader As New System.IO.StreamReader("C:\csvtest\test.csv", System.Text.Encoding.GetEncoding("Shift-JIS"))
Dim Items() As String 'CSVの各項目を表す配列
Dim Line As String = reader.ReadLine 'CSVの一行
Do Until IsNothing(Line)
Items = Line.Split(",") '一行を, (カンマ)で区切って項目ごとに分解
With reader
TextBox1.Text = Items(0)
CheckBox1.CheckState = Items(1)
TextBox2.Text = Items(2)
Line = reader.ReadLine '次の行を読み込む。
TextBox3.Text = Items(0)
CheckBox1.CheckState = Items(1)
TextBox4.Text = Items(2)
Line = reader.ReadLine '次の行を読み込む。
TextBox5.Text = Items(0)
CheckBox1.CheckState = Items(1)
TextBox6.Text = Items(2)
Line = reader.ReadLine '次の行を読み込む。
.Close()
End With
Loop
End Using
End Sub
問題点がわかる方、よろしくおねがいします!
お礼
おかげさまで出来ました! 具体的には With reader Items = Line.Split(",") TextBox1.Text = Items(0) CheckBox1.CheckState = Items(1) TextBox2.Text = Items(2) Line = reader.ReadLine '次の行を読み込む。 Items = Line.Split(",") TextBox3.Text = Items(0) CheckBox1.CheckState = Items(1) TextBox4.Text = Items(2) Line = reader.ReadLine '次の行を読み込む。 Items = Line.Split(",") TextBox5.Text = Items(0) CheckBox1.CheckState = Items(1) TextBox6.Text = Items(2) Line = reader.ReadLine '次の行を読み込む。 .Close() End With にしました。 教えていただいた >csv読むにはTextFieldParser の件につきましては、とりあえずメモをしておいて 後々の課題にさせていただきます。 (今はプログラムが正常に動くのを優先させたいので) 本当にありがとうございました。