excel vba通配符文件名:如果StrFile =“test * .xlsx”则msgbox(“已确认”)

问题描述 投票:0回答:1

我的VBA不是那么好,所以提前道歉。我有一些vba代码,但无法使用Wildcards基于文件名工作。它只是忽略了条件有超过120个excel文件,但我只想要以特定文本开头的xlsx文件,例如All_Regions.xlsx,我试图使用通配符从部分文件名中获取命中。

我可以从静态名称开始工作,但问题是每周文件名都不同:All_Regions_01012018到All_Regions_08012018,每周等等。

任何帮助将不胜感激。

示例如下:

Sub Testing()
OPCO = "All_re*.xlsx"
Source = "C:\files\All_OPCO\"
StrFile = Dir(Source)
If OPCO = StrFile Then
    MsgBox ("Confirmed")
End If

结束子

excel-vba vba excel
1个回答
0
投票

您需要在Dir参数中包含文件的搜索模式,并测试它是否存在只需检查StrFile是否为空:

试试这个:

Sub Testing()
    OPCO = "All_re*.xlsx"
    Source = "C:\files\All_OPCO\"
    StrFile = Dir(Source & OPCO)
    If StrFile<>"" Then
        MsgBox ("Confirmed")
    End If
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.