Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.04.2011, 22:25   #1
SLYrus
 
Регистрация: 19.04.2011
Сообщений: 3
По умолчанию Поменять разделитель в csv

На форуме я такого не нашел)

Задача: из одного экселевского файла макросом надо сделать другой файл в формате csv с разделителями "точка-запятая" и скормить потом его третьему софту.

Если делать всё ручками, то Эксель при сохранении в csv пишет о каких-то нарушениях, жмем "да" и он сохраняет с разделителями точка с запятой.

Если делать это ж макросом, то значения разделяются запятыми и софт его не кушает (в исходных ячейках попадается много запятых).

Как функцию

Код:
ActiveWorkbook.SaveAs Filename:="C:\importer\results\result1.csv", FileFormat:=xlCSV, CreateBackup:=False
заставить сохранить с нужными мне разделителями? Все хотят разделители-запятые, а мне нужна обратная задача)

Последний раз редактировалось SLYrus; 19.04.2011 в 22:27.
SLYrus вне форума Ответить с цитированием
Старый 19.04.2011, 23:27   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

У вас есть 3 варианта решения проблемы.
1.залезть в реестр.поменять разделитель ; на , + изменить в настройках разделитель целой и дробной части с , на .
2.В своем макросе формировать CSV с заменой в значениях , на .
3.Выложить маленькие 2 примера своего файла для тренировки До и после.
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 19.04.2011 в 23:30.
doober вне форума Ответить с цитированием
Старый 20.04.2011, 19:11   #3
SLYrus
 
Регистрация: 19.04.2011
Сообщений: 3
По умолчанию

Спасибо за помощь, но догуглив сегодня последнюю треть интернета по VBA, случайно наткнулся на сработавшее решение.

Код:
ActiveWorkbook.SaveAs FileName:="C:\importer\upload\result.csv", FileFormat:=xlCSV, CreateBackup:=False, Local:=True
Локаль пописана обычная русская, поэтому разделитель тот самый, который и нужен (точка-с-запятой).

А вариант вывода через Open filename for output у меня тогда не получился.

Так что благодарю за помощь)
SLYrus вне форума Ответить с цитированием
Старый 20.04.2011, 19:22   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

А я то понял диаметрально противоположно,что вам под капиталлистов надо разделитель запятую.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 26.04.2011, 09:47   #5
SLYrus
 
Регистрация: 19.04.2011
Сообщений: 3
По умолчанию

Про разделитель-запятую тут описан не один десяток сообщений о том, как бороться с точкой-запятой. А мне надо было именно то, с чем все боролись
SLYrus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разделитель в текстбоксе Aqil_f Microsoft Office Excel 3 31.08.2010 15:19
разделитель ячеек gester Microsoft Office Excel 2 16.05.2009 14:12
Экспорт в csv и импорт из csv cent Microsoft Office Excel 12 28.12.2008 19:50
combobox разделитель пунктов Shawn Компоненты Delphi 4 18.08.2007 22:46
десятичный разделитель zetrix Microsoft Office Excel 0 30.10.2006 19:32