最初,我在A列(excel)中有一个文本文件名列表,我想查看所有文件以打开并计算其行数。当我在下面运行脚本时,计数器的结果是' 1 '
当我使用Notepad ++或Sublime Text打开文本文件时,我会在不同的行中看到该文件的行。但是当我用记事本打开文件时,我会在一行中看到整个文本。在这种情况下有什么问题,我该如何解决它。 (分界线是' LF '。)
Sub counting()
Dim FilePath As String
Dim counter As Integer
Dim curLine As String
FilePath = "C:\Users\kornel.fekete\Desktop\test\Test.txt"
Open FilePath For Input As #1
Do While Not EOF(1)
counter = counter + 1
Line Input #1, curLine
Loop
Cells(1, 1).Value = counter
Close #1
End Sub
我必须使用100多个文本文件进行计数。
答案 0 :(得分:2)
您可以使用文字流:
Sub counting()
Dim fso As New FileSystemObject
Dim ts As TextStream
Dim longtext As String
Dim lines As Variant
Set ts = fso.OpenTextFile("C:\Users\kornel.fekete\Desktop\test\Test.txt", ForReading, False)
longtext = ts.ReadAll
ts.Close
lines = Split(longtext, vbLf)
Cells(1, 1) = UBound(lines) - LBound(lines) + 1
End Sub
您需要设置对Microsoft Scripting Runtime的引用。