VBA: Попытка зациклить файлы и получить ошибку переполнения - PullRequest
0 голосов
/ 14 мая 2019

Я пытаюсь сделать анализ с несколькими лог-файлами. Я хотел бы посчитать, как часто пользователи открывали определенную страницу. Поэтому я пытаюсь перебрать все лог-файлы в каталоге и просмотреть эти файлы во втором цикле. Внутренний цикл, который просматривает файлы, работал, когда я тестировал его только с одним файлом. Но теперь я добавил Outer Loop, который перебирает файлы в каталоге и теперь получает Overflow error in line 15. Я очень плохо знаком с VBA, но не понимаю, почему это происходит, потому что Do-Loop должен заканчиваться в конце каждого файла из-за условия EOF(1).

Надеюсь, кто-нибудь может мне помочь, пожалуйста! Большое спасибо.

'Begin Outer-Loop
Dim FSO, MySource As Object, file As Variant
Set FSO = CreateObject("Scripting.FileSystemObject")
Set MySource = FSO.GetFolder("n:\logs\logs\")

For Each file In MySource.Files

'Begin Inner-Loop
    intRow = 1
    Close
    Open file For Input As #1
    Do Until EOF(1)

        Line Input #1, strText
        intRow = intRow + 1

'Management-Counter
        If strText Like "*Management Overview" Then
            management_counter = management_counter + 1
        End If

'Automation-Counter
        If strText Like "*Automation Rate" Then
            automation_counter = automation_counter + 1
        End If

'Changes-Counter
        If strText Like "*Changes" Then
            changes_counter = changes_counter + 1
        End If

'Touchrate-Counter
        If strText Like "*Touchrate" Then
            touchrate_counter = touchrate_counter + 1
        End If

'Delivery Performance-Counter
        If strText Like "*4. Delivery Performance" Then
            delPerformance_counter = delPerformance_counter + 1
        End If

'Delivery Performance - Date Changes-Counter
        If strText Like "*Date Changes" Then
            dateChanges_counter = dateChanges_counter + 1
        End If

'Delivery Performance - Delivery Reliability-Counter
        If strText Like "*Delivery Reliability" Then
            delivery_counter = delivery_counter + 1
        End If

'End Inner Loop
    Loop

'End Outer Loop
Next file


End Sub
...