如何在 Excel 2000 中使用 VBA 打开分号分隔的 CSV 文件?
样本数据
An ID;TEST20090222
A Name;Firstname Surname
A Date;11.05.2000
Country:;SomeCountryName
Currency;EUR
CostA;
CostB;
CostC;
Part1;10;20;30
Part2;;;;
Part3;34;56;87
代码
在带有 VBA 6.5.1025 的 Excel 2003 11.8231.8221 SP3 中,我可以使用以下 VBA 代码打开一个以分号分隔的文件:
Workbooks.OpenText filename:=myFilename, _
DataType:=xlDelimited, Semicolon:=True, Local:=True
但是,当使用 VBA 6.5.1025 在 Excel 2000 9.0.8961 SP1 中运行相同的代码时,出现以下错误:
编译错误:未找到命名参数
那是——我认为——因为 Excel 2000 不知道命名参数“Local”。
因此,我删除了“Local:=True”部分。但问题是 CSV 文件中的一整行被写入一个单元格,而不是被分成单独的分号分隔的部分。
我在互联网上搜索了一个解决方案,但没有找到任何有用和简洁的东西。
有任何想法吗?
[更新 17.02.2009]
我用宏记录器尝试了用户 lc的建议。然而,结果令人困惑。
当我使用菜单 File->Open... 打开 CSV 文件,然后选择 CSV 文件时,分号分隔的数据被正确解析。并且记录的代码很简单:
Workbooks.Open filename:= _
"D:\testdata\Example 01 CSV\input.csv"
但是当我在宏中使用该 VBA 代码时,每一行都会再次出现在一个单元格中。
根据用户 barrowc的建议,我还将 Windows 的“区域和语言选项”设置从“德语(瑞士)”更改为“英语(美国)”。即使重新启动 Excel,也没有任何改变,同样的问题。
我想知道为什么它在用户 Remou的系统上工作。您有哪些区域和语言设置?