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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.04.2013, 11:32   #1
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию Экспорт в CSV разделитель табулятор

Добрый день, уважаемые форумчане!
Столкнулся с такой пока проблемой. Необходимо экспортировать данные в CSV файл с разделителем табулятор. При автоматическом сохранении в формате CSVMSDOS получаю нужный файл (макросом FileFormat:=xlCSVMSDOS) получаю нужный файл, но с проблемой кодировки кирилицы. При автоматическом сохранении в формате xlCSVMac получаю файл с разделителями запятыми в отличие от ручного сохранения. Просмотрел много тем по этому вопросу, но так и не понял, что же необходимо делать: либо экспортировать как-то по другому (не пойму как), либо дополнительно перекодировать? Чего-то запутался. Подскажите, где решение.
Заранее Спасибо!!!
strannick вне форума Ответить с цитированием
Старый 20.04.2013, 13:15   #2
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

strannick, я так понял, что особенностью формата "csv" как раз и является то, что данные сохраняются через запятую ("csv" от англ. Comma-Separated Values — значения, разделённые запятыми).

Получается, что вы хотите сделать какое-то нелогичное действие. Значит вам нужно идти обходным путём и что-то придумать дополнительно. Готовых решений нет для решений вашей задачи.
Скрипт вне форума Ответить с цитированием
Старый 20.04.2013, 15:29   #3
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Видно я не совсем правильно описал. На выходе необходимо получить файл CSV, текст в которым при простом открывании в Excel отображается разбитым по столбцам. Есть такой образец. В свойствах указано, что это текстовый файл с разделителями ",". Если сохранить аналогичную таблицу Excel в файл CSV с разделителями ",", а потом открыть опять в Excel, то текст идет построчно. Нужный эффект дает сохранение в формате CSVMSDOS, по появляется проблема с кодировкой. Я уже сам запутался в форматах, перечитал массу тем, но объяснения не нашел. Либо что-то не то делаю, либо ...
strannick вне форума Ответить с цитированием
Старый 20.04.2013, 16:53   #4
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

strannick, вот этот файл у вас правильно открывается в программе "Excel"?
Вложения
Тип файла: zip Книга1.zip (123 байт, 12 просмотров)
Скрипт вне форума Ответить с цитированием
Старый 20.04.2013, 17:15   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Я такое делал так: открывал на запись новый текстовый файл, писал в него построчно данные с разделителем vbtab, сохранял с расширением xls.
В общем конечно всё зависит от задачи - мне так было удобнее и проще копипастить в другой xls результат анализа (скриптом vbs) другого огромного текстового отчёта.
Получаем небольшой файл, который можно смотреть блокнотом или листером ТС, а можно открыть даблкликом в Экселе и вручную выбрать что нужно в другой файл.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 20.04.2013, 17:45   #6
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Цитата:
Сообщение от Скрипт Посмотреть сообщение
strannick, вот этот файл у вас правильно открывается в программе "Excel"?
это ДА, единички в отдельных столбцах

Hugo121 сохранение в формате txt с разделителями табулятор при обратном открывании в Excel тоже дает нужный результат. Пробовал переименовать в csv - не пролезло
strannick вне форума Ответить с цитированием
Старый 20.04.2013, 19:17   #7
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Цитата:
Сообщение от strannick Посмотреть сообщение
При автоматическом сохранении в формате CSVMSDOS получаю нужный файл (макросом FileFormat:=xlCSVMSDOS) получаю нужный файл.
- сомневаюсь...
Я получаю с разделителем ";".
Я думаю, что csv с разделителем vbtab сделать конечно можно, но открывать его придётся через импорт внешних данных -> из текста.
И в общем это будет не csv, а текст с таким расширением.
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 20.04.2013, 20:12   #8
Скрипт
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 776
По умолчанию

С помощью макроса сделать файл, как в сообщении #4, можно вот так (часть кода получена с помощью макрорекордера):
Код:
Sub Макрос4()
    
    'Local - позволяет добавлять в файлы точку с запятой.
    ActiveWorkbook.SaveAs Filename:="C:\Users\User\Desktop\Книга1.csv", _
        FileFormat:=xlCSV, Local:=True
        
End Sub
Скрипт вне форума Ответить с цитированием
Старый 22.04.2013, 08:23   #9
strannick
Форумчанин
 
Регистрация: 21.10.2011
Сообщений: 433
По умолчанию

Чудеса какие-то. Добавку Local:=True опробовал еще до создания темы (на каком-то родственном форуме прочитал). Тогда не сработало. Сейчас да. Так что порядок. Спасибо!!!
Есть один нюанс: срабатывает, если после этого Workbook.Close False.
strannick вне форума Ответить с цитированием
Старый 22.04.2013, 11:53   #10
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Согласитесь, что в решении нет и следа от табуляторов...
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Экспорт в CSV Nooned Microsoft Office Access 7 11.02.2015 18:02
Экспорт в csv файл propoker23 Общие вопросы Delphi 1 12.01.2012 01:37
Авто экспорт из XLS в CSV kir1381 Microsoft Office Excel 6 10.11.2011 00:47
Поменять разделитель в csv SLYrus Microsoft Office Excel 4 26.04.2011 09:47
Экспорт в csv и импорт из csv cent Microsoft Office Excel 12 28.12.2008 19:50