如何快速获得文本文档行数?

解决方案 »

  1.   

    Dim strTemp     As String
        Dim lngCount    As Long
        
        Open "c:\1.txt" For Binary As #1
            strTemp = Space(LOF(1))
            Get #1, , strTemp
            lngCount = Len(strTemp) - Len(Replace(strTemp, vbCrLf, "*"))
            MsgBox lngCount
        Close #1
    回车其实就是 chr(13) + chr(10)  即 vbcr + vblf  (合起来为 vbcrlf)一共2个字节将文件里面的回车全部转换为 任意 一字节的符号,然后用文件的长度 减去 剩下的长度,就是有多少个回车啦,~
      

  2.   

    Dim fFSO As New FileSystemObject
    Dim ftext As TextStream
    dim i as integer ' i 是行数
    Set ftext = fFSO.OpenTextFile(Trim(ssName), ForReading)'ssName 是文档名
    Do While ftext.AtEndOfStream = False
       i =  ftext.Line 
    wend
      

  3.   

    如果仅仅是为了算一个文本有几行的话,要考虑到程序的开销哦,为了算有几行而多加上一个 FileSystemObject 对象,好像有点不值得啊。FileSystemObject 要额外开销一个dll,打包起来也费劲咯~~~