Почему результат 1, когда я считаю строки текста? - PullRequest
0 голосов
/ 08 июня 2018

Изначально у меня есть список имен текстовых файлов в столбце 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 текстовыми файлами.

1 Ответ

0 голосов
/ 08 июня 2018

Вы можете использовать текстовый поток:

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.

...