我如何根据名称中的日期识别要复制的文件?

How would I identify a file to copy based on the date in its name?

我正在尝试将文件从一个路径复制到另一个路径并重命名。但是源文件夹包含几个文件,命名约定如下: 123456_EXyymmdd.txt 现在 123456 部分是随机生成的数字,所以我只能通过EXyymmdd 部分。我有以下代码,我试图将字符串的标识段作为 "**" 但它不起作用,可能是由于日期:

Sub SOQuestion()
Dim myDate1 As String
Dim Ipan1 As String
Dim Ipan2 As String
Dim mGlobalDate as string

mGlobalDate=Format(Date, "yyyymmdd")
myDate1 = Format(Date, "yymmdd")
Ipan1 = "157782_EX" & mGlobalDate & ".txt"
Ipan2 = "*_EX*" & myDate1 & ".TXT*"

'source path below
FileCopy "C:\sample\" & Ipan2, "C:\sample2\" & Ipan1

End Sub

由于通配符的原因而感到困惑。这就像将一堆文件复制到一个文件中,如果您考虑一下,这并没有多大意义。相反,使用通配符和 Dir 函数来获取确切的文件名并将其用作源参数。

Dim sFilename as String
sFilename = Dir("C:\sample\" & Ipan2)

然后:

FileCopy "C:\sample\" & sFilename, "C:\sample2\" & Ipan1

MSDN Dir Function