Почему мои регулярные выражения вызывают ошибку '5018' в моем сценарии VBA в Excel

Я просто записал свой первый сценарий 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
2
задан 05.11.2009, 15:12

1 ответ

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

reg.Pattern = "^.+\.txt$"
2
ответ дан 11.12.2019, 22:45

Теги

Похожие вопросы