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 '统计总行数:用字符串替换法得到一共多少个回车,然后再加一就得到总行数了
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 '统计总行数:用字符串替换法得到一共多少个回车,然后再加一就得到总行数了
展开全部
添加 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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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 就是行数
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 就是行数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-04
展开全部
对的 用ubound(split(文本内容,vbcrlf))+1就是行数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-04
展开全部
先读取,然后用分割函数分割回车符,之后判断数组长度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |