首页 > 解决方案 > 如何使用部分文件名通配符运行 fileExists 检查?

问题描述

我的 fileExists 代码设置如下,但是文件名的一部分(_0107_1999986如下)是随机的并且每天都在变化。知道如何对代码的那部分进行通配符,以便如果满足其他条件,fileExists 函数会导致“继续”?

Dim c As Boolean

Set fs = CreateObject("Scripting.FileSystemObject")

c = fs.fileExists("M:\Fake\FakeXfer\" + Format(Now,"YYYYMMDD") + "_0107_1999986" + Format(Now-1, "YYYYMMDD") + ".csv"

IF Not c Then
    MsgBox "Check Later"
Else
    MsgBox "Proceed"
End If

End Sub

标签: excelvbawildcardfile-exists

解决方案


以下可以工作:

Sub Example()
    Dim myPathAndFile, c

    myPathAndFile = "M:\Fake\FakeXfer\" + Format(Now, "YYYYMMDD") + "*" + Format(Now - 1, "YYYYMMDD") + ".csv"

    c = Dir(myPathAndFile)
    If (c = "") Then
        MsgBox "Check Later"
    Else
        MsgBox "Proceed"
    End If

End Sub

文件名中间的通配符可能不起作用。然后将其用作扩展名之前的最后一部分并迭代结果以验证名称的最后一部分。


推荐阅读