1

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

4

1 回答 1

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文件并重新开始吗?

于 2013-09-18T20:46:09.393 回答