【发布时间】:2010-04-14 01:42:52
【问题描述】:
我知道这是一个相当普遍的问题,但我还没有找到可靠的解决方案。
我在 csv 文件中有数据,第一列的格式为 dd/mm/yyyy。当我使用 Workbooks.OpenText 打开它时,它默认为 mm/dd/yyyy,直到它发现它认为月份超过 12,然后恢复为 dd/mm/yyyy。
这是我的测试代码,它试图将其强制为 xlDMYFormat,我也尝试过文本格式。我了解此问题仅适用于 *.csv 文件,不适用于 *.txt,但这不是可接受的解决方案。
Option Base 1
Sub TestImport()
Filename = "test.csv"
Dim ColumnArray(1 To 1, 1 To 2)
ColumnsDesired = Array(1)
DataTypeArray = Array(xlDMYFormat)
' populate the array for fieldinfo
For x = LBound(ColumnsDesired) To UBound(ColumnsDesired)
ColumnArray(x, 1) = ColumnsDesired(x)
ColumnArray(x, 2) = DataTypeArray(x)
Next x
Workbooks.OpenText Filename:=Filename, DataType:=xlDelimited, Comma:=True, FieldInfo:=ColumnArray
End Sub
test.csv 包含:
Date
11/03/2010
12/03/2010
13/03/2010
14/03/2010
15/03/2010
16/03/2010
17/03/2010
【问题讨论】: