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

时间:2018-06-25 13:59:06

标签: excel vba

我希望检查计算机上的文件夹中是否存在文件。我在下面,可以查看是否存在特定文件:

Function FileExists(sFile As String)
    sPath = "M:\User\" & sFile & ".xlsm"
    FileExists = Dir(sPath) <> ""
End Function

但是,我的文件命名为:Filename - Version xx.xlsm,并且会定期更新。请注意,该文件夹中只有一个文件,但文件名可能会有所不同。

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

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

1 个答案:

答案 0 :(得分:0)

一种选择是在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