【发布时间】:2018-11-20 16:51:18
【问题描述】:
我有超过 100 个文本文件,我必须计算每个文件的行数。 Column A 列出文件名,位于E1 中指定的文件夹中。有几个文件的行数超过 100 万行,导致脚本运行时间非常长。
Sub counter()
Dim fso As New FileSystemObject
Dim ts As TextStream
Dim longtext As String
Dim lines As Variant
Dim GoToNum As Integer
Dim Start As Integer
GoToNum = 2
Start = 3
Do Until IsEmpty(Cells(Start, 1))
GoToNum = GoToNum + 1
Start = Start + 1
Loop
For i = 3 To GoToNum
If Cells(i, 2).Value <= Cells(2, 5).Value Then
ConOrg = Cells(1, 4).Value & "\" & Cells(i, 1).Value
Set ts = fso.OpenTextFile(ConOrg, ForReading, False)
longtext = ts.ReadAll
ts.Close
lines = Split(longtext, vbLf)
Cells(i, 3) = UBound(lines) - LBound(lines) - 1
End If
Next i
End Sub
如何获取最后一行的编号(来自文本文件)以避免逐行计数?
【问题讨论】:
-
@Black Cornail:不,这个问题是关于获取文本文件中的行数。
-
你已经拥有它:
UBound(lines)