VB中读入文件,如何获得文本的行数

 我来答
zdingyun
推荐于2017-09-01 · 知道合伙人软件行家
zdingyun
知道合伙人软件行家
采纳数:15429 获赞数:48168
1982年上海业余工业大学化工系毕业 现退休

向TA提问 私信TA
展开全部

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
Bengbeng01
推荐于2017-09-17 · TA获得超过747个赞
知道小有建树答主
回答量:400
采纳率:80%
帮助的人:122万
展开全部
如果文本文件 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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刘腾524
2015-10-06 · TA获得超过129个赞
知道小有建树答主
回答量:172
采纳率:66%
帮助的人:81.3万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式