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

如题所述

如果文本很大,那用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 '统计总行数:用字符串替换法得到一共多少个回车,然后再加一就得到总行数了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-14
添加 Text1, Multiline的属性要设为True

Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Const EM_GETLINECOUNT = &HBA
Dim fname$, aa$, jj&
Private Sub Form_Load()
fname = "c:\test.txt" '改为你自己的文件名与路径(app.path)
Open fname For Input As #1
Text1.Text = ""
While Not EOF(1)
Line Input #1, aa
Text1.Text = Text1.Text & aa & vbCrLf
Wend
jj = SendMessage(Text1.hwnd, EM_GETLINECOUNT, 1, 0)
MsgBox jj
End Sub本回答被网友采纳
第2个回答  推荐于2016-12-04
dim TT() as String
dim ss as Integer
open txt for input as #1
Do While Not EOF(1)
Input #1, TT(ss)
ss=ss+1
Loop
Close 1#
txt 是txt文件名 ss 就是行数本回答被提问者采纳
第3个回答  2014-03-04
对的 用ubound(split(文本内容,vbcrlf))+1就是行数
第4个回答  2014-03-04
先读取,然后用分割函数分割回车符,之后判断数组长度
相似回答