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

如题所述

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
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-17
如果文本文件 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本回答被提问者采纳
相似回答