Как открыть файл CSV, разделенный точкой с запятой, с помощью VBA в Excel 2000?
Пример данных
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 записывается в одну ячейку, а не разбивается на отдельные части, разделенные точкой с запятой.
Я искал решение в Интернете, но не нашел ничего полезного и краткого.
Есть идеи?
[Обновление 17.02.2009]
Я попробовал предложение от пользователя lc с устройством записи макросов. Тем не менее, результаты были запутанными.
Когда я открываю файл CSV с помощью меню Файл-> Открыть ..., а затем выбираю файл CSV, данные, разделенные точкой с запятой, анализируются правильно. И записанный код так же просто, как:
Workbooks.Open filename:= _
"D:\testdata\Example 01 CSV\input.csv"
Но когда я использую этот код VBA в своем макросе, каждая строка снова оказывается в одной ячейке.
В соответствии с предложением пользователя barrowc я также изменил настройки Windows «Язык и региональные стандарты» с «Немецкий (Швейцария)» на «Английский (США)» ». Даже после перезапуска Excel ничего не изменилось, такая же проблема.
Интересно, почему он работает на системе пользователя Remou . Какие региональные и языковые настройки у вас есть?