VBA 使用通配符访问获取文件名

VBA Access Get File Name with wildcard

我在使用通配符获取文件名时遇到了一些问题。 我正在使用通配符,因为文件名中有一个“版本”,所以在这种情况下,“Test v*”可能是“Test v1”或“Test v2”,因此我希望它提取任何版本的名称当前在桌面上。

这是我的代码的简化版本。如果 运行 你得到“Test v*”而不是实际的文件名。不确定我遗漏了什么,但我们将不胜感激

Dim Owner As String
Dim Cver As String
Dim FileName As String

Owner = Environ("USERNAME")
FileName = "C:\Users\" & Owner & "\Desktop\TEST v" & "*" & ".accdb"
Cver = Left(FileName, InStr(FileName, ".") - 1)

MsgBox "" & Mid(Cver, 7, 2) & ""

您将要使用 Dir()

这是我的代码版本:

Sub getVersion()

    Dim owner As String
    Dim Cver As String
    Dim fileName As String

    Dim owner As String: owner = Environ("USERNAME")

    Dim fileName As Variant: fileName = Dir("C:\Users\" & owner & "\Desktop\TEST v" & "*" & ".accdb", vbDirectory)

    Cver = Left(fileName, InStr(fileName, ".") - 1)

    MsgBox "" & Mid(Cver, 7, 2) & ""
End Sub