用部分variables名称检索最后修改的文件

我们有一个系统,自动下载数据,并把它放在Excel和其他表。 我正在尝试为主电子表格编写一个macros,用于检索某个文件的最新版本,以便编辑,复制并粘贴到主表单中。

我无法检索文件,因为文件名包含date。

我对VBA相当陌生,现在仍然只是把代码拼凑在一起,以便find工作,但是我找不到我正在寻找的东西。

文件名是例如'ML0003 – 每日订单input信息 – 170927'最后6个数字代表date和每次更改。

这是我的代码到目前为止:

Dim dtTestDate As Date Dim sStartWB As String Const sPath As String = "D:\Berry\AddIn\Testing\" Const dtEarliest = #1/1/2010# dtTestDate = Date sStartWB = ActiveWorkbook.Name While ActiveWorkbook.Name = sStartWB And dtTestDate >= dtEarliest On Error Resume Next Workbooks.Open sPath & "ML0003 - Daily Order Entry Information - " & " ****** " & ".xls" dtTestDate = dtTestDate - 1 On Error GoTo 0 Wend If ActiveWorkbook.Name = sStartWB Then MsgBox "Earlier file not found." 

我是在asstertion下,asterix会允许任何angular色在那里,但这似乎并不奏效。 有任何想法吗?

您将需要使用Dir函数来查找使用通配符的文件,如下所示:

 Dim sFilename As String While ActiveWorkbook.Name = sStartWB And dtTestDate >= dtEarliest sFilename = Dir(sPath & "ML0003 - Daily Order Entry Information - *.xls*") If sFilename <> "" Then Workbooks.Open sPath & sFilename Wend