Excel의 VBA 스크립트에서 정규 표현식이 오류 ‘5018’을 호출하는 이유 Set Files = fso.GetFolder(“C:\myfolder”).Files

폴더에서 Excel 스프레드 시트로 많은 “* .txt”파일을 작성해야하므로 Excel 용 첫 번째 VBA 스크립트를 작성했습니다. 그러나이 스크립트를 실행하면 ‘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


답변

방금 고 쳤어요 분명히 내 정규 표현이 잘못되었습니다. 5018은 “정규 표현식의 예기치 않은 수량 자”를 나타냅니다. 그래서 나는 그것을

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