VBS怎么读取excel的时间类型

用VBS读取EXCEL,EXCEL中某字段为:15:05:11(实际值是2014/1/22 15:05:11) 的日期类型
VBS中:调用a.Cells(intRow,intCell) 取出来后 就变成 41661.9172337963了..希望值是:2014/1/22 15:05:11
由于EXCEL是由DB直接导出的 所以不能修改..

请问有什么办法可以解决么?谢谢

用cells(1,1).value取得时得到2014/01/26 17:30:19
cells(1,1).value2取得时得到 41665.7293865741
取得单元格的值还有Formular1c1以及Formula
实在不行就先进行Cells(1,1).select然后用selection.value
或format(41665.7293865741,"yyyy/mm/dd hh:mm:ss")追问

不行..
a.Cells(intRow,intCell).Select
wscript.echo a.selection.Value 打印出来依然是41665.7293865741

format直接报错..
有没有办法直接设定这个Cell的format呢 不是可以设置字体什么的么

追答

wscript.echo cdate(41665.7293865741)

追问

哦 这样好像可以转..但是..因为是DB导出的数据..所以不同表的每一列的类型不是固定的,请问有没有办法判断下 如果是日期才转换呢?

追答

判断长度以及是否包含点、然后判断是否为数值吧。
看样子长度必须是15以上
len计算长度
isnumeric判断是否为数值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-26
这样:
假如你读取的字段在cells(1,1)处
并把它输出到cells(2,2)处

Cells(2, 2) = Format(Cells(1, 1), "General Date")追问

直接报错了 类型不一致

Cells取得的值应该已经是number类型了..

相似回答
大家正在搜