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
コード
Excel 2003 11.8231.8221 SP3 と VBA 6.5.1025 では、次の VBA コードでセミコロン区切りのファイルを開くことができます。
Workbooks.OpenText filename:=myFilename, _
DataType:=xlDelimited, Semicolon:=True, Local:=True
ただし、Excel 2000 9.0.8961 SP1 で VBA 6.5.1025 を使用して同じコードを実行すると、次のエラーが発生します。
コンパイル エラー: 名前付き引数が見つかりません
これは -- 私が思うに -- Excel 2000 は名前付き引数 "Local" を認識していないためです。
そのため、「Local:=True」の部分を削除しました。しかし、問題は、CSV ファイルの行全体が、セミコロンで区切られた個別の部分に分割されるのではなく、1 つのセルに書き込まれることです。
インターネットで解決策を検索しましたが、有用で簡潔なものは見つかりませんでした。
何か案は?
[2009年2月17日更新]
マクロレコーダーでユーザーlcからの提案を試しました。しかし、結果は混乱を招きました。
メニューの File->Open... で CSV ファイルを開き、CSV ファイルを選択すると、セミコロンで区切られたデータが正しく解析されます。記録されたコードは次のように単純です。
Workbooks.Open filename:= _
"D:\testdata\Example 01 CSV\input.csv"
しかし、その VBA コードをマクロで使用すると、各行が再び 1 つのセルに収まってしまいます。
ユーザー barrowcからの提案に従って、Windows の [地域と言語のオプション] 設定も [ドイツ語 (スイス)] から [英語 (米国)] に変更しました。Excelを再起動しても何も変わらず、同じ問題が発生しました。
ユーザー Remouのシステムでなぜ動作しているのか不思議です。どの地域と言語の設定がありますか?