如何在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的系统.您有哪些区域和语言设置?