我们有一个自动下载数据并将其放入Excel和其他工作表的系统。我正在尝试为主电子表格编写一个宏,该电子表格检索某个文件的最新版本以进行编辑,复制并粘贴到主表格中。
我无法检索文件,因为文件名包含日期。
我对VBA很陌生,我仍然只是将一些代码拼凑在一起以获得工作,但我找不到我想要的东西。
文件名例如是'ML0003 - 每日订单输入信息 - 170927' 最后6个数字代表每次的日期和变化。
到目前为止,这是我的代码:
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."
我认为asterix会允许任何角色,但这似乎不起作用。有什么想法吗?
答案 0 :(得分:1)
您需要使用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