テキストファイル(またはテキストボックス)から特定の文字列で始まる行だけを抜き出したいのですが、下のようにしてもすべて読み込まれてしまいます。
ものすごく初心者です。言語は.NETです。よろしくお願いします。
Dim Txt As String
Dim Sta As String
Try
FileOpen(1, myFile, OpenMode.Input)
TextBox1.Text = ""
Do Until EOF(1)
Txt = LineInput(1)
Sta = Microsoft.VisualBasic.Left(Txt, 2)
If Sta = "ss" Then
TextBox1.Text = TextBox1.Text & LineInput(1) & vbCrLf
End If
Loop
Me.Text = myFile
Catch
MsgBox("エラー
Finally
FileClose(1)
End Try
やっていることにコメントをつけると、
' 一行読み込む
> Txt = LineInput(1)
' 読み込んだ行の先頭2文字をStaに入れる
> Sta = Microsoft.VisualBasic.Left(Txt, 2)
' Sta が ss のとき
> If Sta = "ss" Then
' 次の行を読み込んでテキストに追加する
> TextBox1.Text = TextBox1.Text & LineInput(1) & vbCrLf
> End If
となっています。
ということで、If文のあたりがおかしいです。
Sta が ss のものだけ読みたいのであれば、次の行を読むというのは間違っているようです。
Txt = LineInput(1)
If Microsoft.VisualBasic.Left(Txt, 2) = "ss" Then
TextBox1.Text = TextBox1.Text & Txt & vbCrLf
End If
ありがとうございます!
今は試せないので後で報告します。
できました!
Blueさんどうもありがとうございます!
ツイート | ![]() |