vb如何分别读取TXT的每行内容

TXT文本中有以下格式的几行内容
1;aaa
2;bbb
3;ccc
4;ddd
n;xxx
要求VB在读取时行以行和符号;来区分,将其写入表格中的格式必须是:
第一列数据是
1、2、3、4、
第二列的数据是
aaa、bbb、ccc、ddd、xxx
也就是说要以符号;作为列的分界!不知道有没有说明白

1、vb6示例:

Option Explicit

Private Sub Command1_Click()
Dim iStr() As String, i As Long, c

Open "d:\test.txt" For Input As #1

While Not EOF(1)
   ReDim Preserve iStr(i)
   Line Input #1, iStr(i)
   i = i + 1
Wend
Close #1

For Each c In iStr
    Debug.Print c
Next
   
End Sub

2、以上例程从文本文件读,把读出来的每一行文本装入一个字符串动态数组,数组每个成员即一行。

3、如果是想读textbox的每一行,假如每一行都有回车,按回车截取。如果是自动换行没有回车符,需要使用windows API来读每一行。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
1个Split就能解决你的问题

Dim lie() As String
Open App.Path & "\*.txt" For Input As #1 ' 打开你的*.txt文件。
Do While Not EOF(1) ' 循环至文件尾。
Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。
lie = Split(TextLine, ";") ’分列
MsgBox lie(0)'显示第一列内容
Loop
Close #1 ' 关闭文件

lie(0)为1、2、3、4、
lie(1)为aaa、bbb、ccc、ddd、xxx本回答被提问者采纳
第2个回答  2008-12-18
呵呵,楼下的好懒啊,哈
不知是TEXT文本框控件还是一个.txt文本文件,
如果是文件要先导入哦.
一切从简,如果是text控件的话是很简单的,假设数据在txt1.text
dim a() as string
dim b() as string
a=split(txt1.text,vbnewline)

for i = lbound(a()) to ubound(a())

b=split(a(i),";")
'做你想做既代码
分号前=b(0)
分号后=b(1)
'你的代码结束
erase b()
next i
第3个回答  2008-12-18
你说的那个可以用streamreader 和string 的 split function 做。 懒得写code -_- 自己看看msdn上的例子吧。
第4个回答  2008-12-18
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Function fileStr(ByVal fName As String) As String
On Error GoTo Err1
Dim tempInput As String
Open fName For Input As #1
Do While Not EOF(1)
Line Input #1, tempInput
If Right(tempInput, 1) <> Chr(10) Then tempInput = tempInput & Chr(10)
tempInput = Replace(tempInput, Chr(10), vbCrLf)
fileStr = fileStr & tempInput
Loop
If fileStr <> "" Then fileStr = Left(fileStr, Len(fileStr) - 2)
Close #1
Exit Function
Err1:
MsgBox "²»´æÔÚ¸ÃÎļþ»ò¸ÃÎļþ²»ÄÜ·ÃÎÊ£¡", vbExclamation
End Function
str=fileStr("txt路径")
a()=split(str,vbnewline)
for i=0 to n
b()=split(a(n),",")
text1.text=b(0) & " 、"
text1.text=b(1) & " 、"
next

vb如何分别读取TXT的每行内容
3、如果是想读textbox的每一行,假如每一行都有回车,按回车截取。如果是自动换行没有回车符,需要使用windows API来读每一行。

vb怎样读取txt文本每一行的指定内容
Dim TextLine Dim ret as String Open "目录\\a.txt" For Input As #1 ' 打开文件。Do While Not EOF(1) ' 循环至文件尾。Line Input #1, TextLine ' 读入一行数据并将其赋予某变量。'这时就是取到的第一行的值了,如果你确定每行都是这种格式“time=123”,那么你就可以用 '下...

VB如何读取TXT文件,一行一行读取,读取一行msgbox“这一行的内容”,然后...
Private Sub Command1_Click() Dim i As Long Dim j As Long Dim strj() As String ' 设置“CancelError”为 True CommonDialog1.CancelError = True On Error GoTo ErrHandler ' 设置标志 CommonDialog1.Flags = cdlOFNHideReadOnly ' 设置过滤器 CommonDialog1.Fil...

VB 怎么读取TXT数据 第一行显示在TEXT1 第二行显示在TEXT2
'1.首先"工程"-"引用"---"Microsoft Script Runtime"'2.将text2 的multiline属性设置为true ScrollBars 属性设置为2-Vertical Dim fso As New FileSystemObject Private Sub Form_Load()Text1.Text = ""Text2.Text = ""If fso.FileExists("c:\\abc.txt") Then '判断文件是否存在 Dim sum_...

VB怎么读TXT文件行数和列数!
Private Sub Command1_Click() '第一行 Dim v Open "" & App.Path & "\\1.txt" For Input As #1 Do While Not EOF(1)Line Input #1, temp x = x + 1 If x = 1 Then v = Split(temp, " ")For i = 0 To UBound(v)Text1(i).Text = v(i)Next End If Loop Close...

vb读取txt文件行数问题
Input就是每次读取一行,n = n + 1就是每次读取一行时就把n递增1,所以程序运行完毕后n就是行数了。还有更简单的方法:Open "c:\\1.txtt" For Binary As #1 MsgBox "文件有 " & UBound(Split(Input(LOF(1), #1), vbCrLf)) + 1 & " 条记录。", vbInformation Close #1 三行即可 ...

VB逐行读取TXT
既然同胞都出声了,我还不帮忙吗,兄弟,我刚写了一段代码,你看看能用不 Private Sub Form_Load()Open "C:\\123.txt" For Input As #1 End Sub Private Sub Command1_Click()On Error Resume Next Dim str As String Line Input #1, str Text1.Text = str End Sub ...

如何用Excel VBA读取某一文件夹下批量TXT文本内的某行某列?
如何用Excel VBA读取某一文件夹下批量TXT文本内的某行某列? 可以使用如下的代码,复制如下代码到VBA模块中运行即可。如下代码代表4行4列,如果其余行或列数则可更改相应的数字。具体步骤如下:打开office excel;Alt+F11打开VBA编辑器;复制如下代码到模块中;F5运行该模块;按照提示进行如下步骤即可。

VB怎样取出文本框每一行的值
首先将文本框中的文本一行一行读入文件:open "文件名.txt"for output as #1 for i=1 to len(text1.text)print #1,Mid(text1.text,i,1);next i close #1 再将文件中的文本一行一行的读出来:text2.text=""open "文件名.txt" for input as #1 text2.text=input(LOF(1),1)close #1 ...

VB读取TXT文本中的一行
Private Sub Command1_Click()Open "C:\\123.txt" For Input As #1 n = 0 Do While Not EOF(1)Line Input #1, a n = n + 1 If n = 3 Then Text1.Text = a Exit Do End If Loop Close #1 End Sub 这样就可以了。用n来控制行数。当到达了第三行,就输出到文本框,然后退出...

相似回答