vb怎么获得txt文件中的行数?怎么实现?

vb怎么获得txt文件中的行数?怎么实现?,第1张

如果文本很大,那用拆岩裂for、do就太慢太慢了,我给大家枣尘一个快速查询的方法:

Dim Oc,Fs,S,X

Set Fs = Oc.OpenTextFile("旅闭C:\Test.Txt", 1)'用FSO打开TXT文件

S = Fs.ReadAll'获取全文

Fs.Close'关闭文件

X = (Len(S) - Len(Replace(S, vbCrLf, ""))) / Len(vbCrLf) + 1 '统计总行数:用字符串替换法得到一共多少个回车,然后再加一就得到总行数了

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12440401.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存