VB中读入文件,如何获得文本的行数
3个回答
推荐于2017-09-01 · 知道合伙人软件行家
关注
展开全部
VB中可以在循环中使用Line Input # 语句一行行读入文本,直到到达文件的结尾。
Line Input # 语句,从已打开的顺序文件中读出一行并将它分配给 String变量。
EOF 函数,返回一个 Integer,它包含 Boolean 值 True,表明已经到达为 Random
或顺序 Input 打开的文件的结尾。
具体代码:
Private Sub Command1_Click()
Dim i As Long
Dim strj() As String
' 设置“CancelError”为 True
CommonDialog1.CancelError = True
On Error GoTo ErrHandler
' 设置标志
CommonDialog1.Flags = cdlOFNHideReadOnly
' 设置过滤器
CommonDialog1.Filter = "All Files (*.*)|*.*|Text Files" & "(*.txt)|*.txt|Batch Files (*.bat)|*.bat"
' 指定缺省的过滤器
CommonDialog1.FilterIndex = 2
' 显示“打开”对话框
CommonDialog1.ShowOpen
' 显示选定文件的名字
Debug.Print CommonDialog1.FileName
str = CommonDialog1.FileName
Open CommonDialog1.FileName For Input As #1
Do Until EOF(1)
Line Input #1, s
Text1.Text = Text1.Text & s & vbCrLf
i = i + 1
Loop
Close #1
Debug.Print i '总行数
Exit Sub
ErrHandler:
' 用户按了“取消”按钮
Exit Sub
End Sub
展开全部
如果文本文件 TXT 还未读取出来,可以用下面的:
dim s as string, i as integer
i = 0open TXT for input as #3 '此处TXT为全路径do until eof(1)line input #3, si=i+1loopclose #3上面的 i 就是 文本文件TXT的行数(包含空行)
如果已经将文本读取到一个textbox中了,使用下面的:
s=split(text1.text,vbcrlf)
i=ubound(s)+1
dim s as string, i as integer
i = 0open TXT for input as #3 '此处TXT为全路径do until eof(1)line input #3, si=i+1loopclose #3上面的 i 就是 文本文件TXT的行数(包含空行)
如果已经将文本读取到一个textbox中了,使用下面的:
s=split(text1.text,vbcrlf)
i=ubound(s)+1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询