Excel VBA-使用通配符检查文件是否存在并打开该文件

Excel VBA-使用通配符检查文件是否存在并打开该文件,excel,vba,Excel,Vba,我想检查我的计算机上的文件夹中是否存在文件。我有以下内容,可以查看是否存在特定的文件: Function FileExists(sFile As String) sPath = "M:\User\" & sFile & ".xlsm" FileExists = Dir(sPath) <> "" End Function 函数文件存在(文件为字符串) sPath=“M:\User\”&sFile&“.xlsm” FileExists=Dir(sPath

我想检查我的计算机上的文件夹中是否存在文件。我有以下内容,可以查看是否存在特定的文件:

Function FileExists(sFile As String)
    sPath = "M:\User\" & sFile & ".xlsm"
    FileExists = Dir(sPath) <> ""
End Function
函数文件存在(文件为字符串)
sPath=“M:\User\”&sFile&“.xlsm”
FileExists=Dir(sPath)”
端函数
但是,我的文件名是:
Filename-Version xx.xlsm
,并且定期更新。请注意,文件夹中只有一个文件,但文件名可能会有所不同

如何使用通配符在文件夹中搜索:


Filename-Version%%
然后,如果它找到任何文件,随后打开该文件?

一个选项是在
FileExists
函数中打开该文件。但是,我不建议这样做。函数应该完全按照名称的含义执行,仅此而已

另一个选择是稍微重新构造代码:

Private Sub OpenFile()
   Dim FileName As String

   FileName = GetFile("Filename - Version*")

   If FileName <> "" Then
      'open FileName as needed
   End If
End Sub

Private Function GetFile(sFile As String) As String
    sPath = "M:\User\" & sFile & ".xlsm"
    GetFile = Dir(sPath)
End Function
Private子OpenFile()
将文件名设置为字符串
FileName=GetFile(“FileName-Version*”)
如果文件名为“”,则
'根据需要打开文件名
如果结束
端接头
私有函数GetFile(sFile作为字符串)作为字符串
sPath=“M:\User\”&sFile&“.xlsm”
GetFile=Dir(sPath)
端函数

一个选项是在
FileExists
函数中打开文件。但是,我不建议这样做。函数应该完全按照名称的含义执行,仅此而已

另一个选择是稍微重新构造代码:

Private Sub OpenFile()
   Dim FileName As String

   FileName = GetFile("Filename - Version*")

   If FileName <> "" Then
      'open FileName as needed
   End If
End Sub

Private Function GetFile(sFile As String) As String
    sPath = "M:\User\" & sFile & ".xlsm"
    GetFile = Dir(sPath)
End Function
Private子OpenFile()
将文件名设置为字符串
FileName=GetFile(“FileName-Version*”)
如果文件名为“”,则
'根据需要打开文件名
如果结束
端接头
私有函数GetFile(sFile作为字符串)作为字符串
sPath=“M:\User\”&sFile&“.xlsm”
GetFile=Dir(sPath)
端函数
&sFile&“*”和“.xlsm”
?或者
&sFile&“*.xlsm”
&sFile&“*”&.xlsm”
?或
&sFile&“*.xlsm”