如何通过VBA使用通配符打开目标文件?
使用通配符匹配并打开文件的VBA实现
以下是实现用通配符查找并打开指定文件的VBA代码:
Sub File_exists() Dim orders As String ' 用Dir函数匹配当前工作簿路径下符合*ORDERS-Confirmed.xlsx格式的文件 orders = VBA.FileSystem.Dir(ThisWorkbook.Path & "\*ORDERS-Confirmed.xlsx") ' 打开匹配到的文件 Workbooks.Open Filename:=ThisWorkbook.Path & "\" & orders End Sub
代码说明:
VBA.FileSystem.Dir函数:用于查找符合指定通配符规则的文件,返回第一个匹配到的文件名;如果没有匹配项,会返回空字符串。ThisWorkbook.Path:获取当前运行这段代码的工作簿所在的文件夹路径。- 注意:原代码中的文件扩展名写成了
xslx,是笔误,正确的Excel文件扩展名应为xlsx,上面的代码已修正。
补充提示:
- 如果目标路径下有多个符合通配符规则的文件,
Dir函数只会返回第一个匹配的文件。如果需要处理所有匹配文件,可以循环调用Dir函数(不带参数)来遍历所有结果。 - 建议添加判断逻辑,避免在没有匹配到文件时执行
Workbooks.Open导致报错,示例如下:
Sub File_exists() Dim orders As String orders = VBA.FileSystem.Dir(ThisWorkbook.Path & "\*ORDERS-Confirmed.xlsx") If orders <> "" Then Workbooks.Open Filename:=ThisWorkbook.Path & "\" & orders Else MsgBox "未找到符合条件的文件" End If End Sub
内容的提问来源于stack exchange,提问作者Coolkid
相关产品推荐
相关产品推荐

