我刚刚为 Excel 编写了我的第一个 VBA 脚本,因为我必须将文件夹中的许多“*.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
刚刚修复了它。显然我的正则表达式是错误的。5018 代表“正则表达式中的意外量词”。所以我把它改成了
reg.Pattern = "^.+\.txt$"