用部分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