将string转换为Exceldate和时间,具有特定的string格式

我有一个Excel / VBAmacros,列出目录中的文件。

文件名格式为:yyyy-MM-dd @ hh-mm-ss_ [description] .csv

例如: 2013-07-03@22-43-19_my-file.csv

然后我需要获取文件名的第一部分到一个Exceldate对象(包括时间戳)

我发现了CDate()函数,但它没有带任何“格式”参数,并且Format()函数的工作方式是错误的,即将string转换为date。

我想通过获取一个string和格式的函数,并返回一个Exceldate/时间对象。

有没有一个function来做到这一点?

谢谢,

试试这个:

 Function ParseDateTime(dt As String) As Date ParseDateTime = DateValue(Left(dt, 10)) + TimeValue(Replace(Mid(dt, 12, 8), "-", ":")) End Function