2

Я только что написал свой первый VBA-скрипт для Excel, потому что мне нужно было записать много файлов "* .txt" из папки в электронную таблицу Excel. Но когда я запускаю этот скрипт, я получаю ошибку «5018». Вызывается линией

If reg.Test(file.Name) Then

Есть идеи, что я делаю не так? Вот полный сценарий:

Sub get_filenames()
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set Files = fso.GetFolder("C:\myfolder").Files
    Set reg = CreateObject("vbscript.regexp")

    reg.IgnoreCase = True
    reg.MultiLine = False
    reg.Pattern = "*.txt"

    For Each file In Files
        If reg.Test(file.Name) Then
            i = i + 1
            Cells(i, 1) = file.Name
        End If        
    Next
End Sub

1 ответ1

2

Просто исправил это. Видимо мое регулярное выражение неверно. 5018 означает "Неожиданный квантификатор в регулярном выражении". Я изменил это на

reg.Pattern = "^.+\.txt$"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .