【发布时间】:2013-07-03 20:48:59
【问题描述】:
我有一个 Excel/VBA 宏,可以列出目录中的文件。
文件名格式为:yyyy-MM-dd@hh-mm-ss_[description].csv
例如:2013-07-03@22-43-19_my-file.csv
然后我需要将文件名的第一部分放入 Excel 日期对象(包括时间戳)
我找到了 CDate() 函数,但它不带任何“格式”参数,并且 Format() 函数的工作方式错误,即将字符串转换为日期。
我想要一个函数,它接受一个字符串和一个格式,并返回一个 Excel 日期/时间对象。
是否有专门的功能来做到这一点?
谢谢,
【问题讨论】:
-
看看 DATESERIAL。
-
我知道我可以使用 DateSerial(y, m, d) + TimeSerial(h, m, s) 但我需要解析我的字符串格式,确定年份、月份等在哪里。 ..,为日期的每个子部分提取子字符串,然后使用这两个函数。相反,我想要一个更简单的函数,带有一个字符串和一个输入格式,并返回一个 DateTime
-
似乎,来自 msdn (msdn.microsoft.com/en-us/library/aa227484%28v=vs.60%29.aspx) 没有任何内置的 VBA 函数可以满足我的需要。我得写一个
-
请原谅我的瑞士奶酪记忆,我的意思是日期值。还有对应的TimeValue函数。
-
@chuff no pb ;-) 但是 DateValue() 和 TimeValue() 仅适用于 Excel“预格式化”格式,如 MM/DD/YYYY 等。它不适用于我的格式,即:yyyy-MM-dd@hh-mm-ss