FSO 快些:
Function hangshu(txtpath As String) As Long
hangshu = 0
Dim fso As New FileSystemObject
Dim ts As TextStream
Set ts = fso.OpenTextFile(txtpath)
Do While Not ts.AtEndOfStream
hangshu = hangshu + 1
Loop
ts.Close
End Function
Function hangshu(txtpath As String) As Long
Dim filetxt As String, x As Variant
filetxt = String(FileLen(txtpath), " ")
Open txtpath For Binary As 1
Get #1, , filetxt
Close 1
x = Split(filetxt, vbCrLf)
hangshu = UBound(x) + 1
Set x = Nothing
End Function
Public Const EM_GETLINECOUNT = &HBA '计算Textbox的总行数Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long