使用适合特定模式的最新修改日期查找文件名

时间:2013-09-18 20:15:15

标签: regex vba ms-access access-vba last-modified

我的计算机上的某个特定路径上的文件看起来像“Report Name May 13.xls”,我希望能够动态引用文件名。例如,假设我想返回符合“报告名称<> .xls”模式的最新文件,其中<>是任何特定的文本字符串。 “最新”我暗示了最近的修改日期。

1 个答案:

答案 0 :(得分:1)

您可以轻松地从每个文件名中提取日期片段,如此立即窗口会话。

strFile = "Report Name May 13.xls"
? Mid(strFile, 13)
May 13.xls
? Split(Mid(strFile, 13), ".")(0)
May 13

假设这些日期都来自当前年份,您可以构建一个完整的日期字符串。

? Split(Mid(strFile, 13), ".")(0) & " " & Year(Date())
May 13 2013

最后,您可以使用CDate将该字符串转换为实际的日期/时间值。

? CDate(Split(Mid(strFile, 13), ".")(0) & " " & Year(Date()))
5/13/2013 

因此,您可以使用变量来存储最大日期,遍历文件名列表,确定与每个日期相关联的日期,并根据需要存储最大日期值。

这应该不会太难。我更关心的是文件名不包括年份。所以这让我想知道2014年1月1日会发生什么。你会丢弃所有 .xls 文件并重新开始吗?