Форум по VBA, Excel и Word

VBA, Excel => Работа в программе "Excel" => Тема начата: Salsaz от 07 мая 2016, 16:48

Название: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Salsaz от 07 мая 2016, 16:48
БД создаёт файлы в CSV формате. Я начал замечать, что несколько десятков, а то порой и сотен строк сливаются в одну. Как я понял всему виной "". При открытии файла в блокноте, все разделители перед глазами, и кавычки и точка с запятой и т.д. Но когда я открываю через Excel, кавычки чудесным образом пропадают и несколько десятков строк записываются в 1 ячейку. Возможно ли это как-нибудь исправить при помощи макросов?
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Администратор от 07 мая 2016, 16:53
Можете показать csv-файл, в котором эта проблема?
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Salsaz от 07 мая 2016, 17:08
Пожалуйста

[вложение удалено администратором]
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Администратор от 07 мая 2016, 17:12
В какой строке сбивается текст?
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Salsaz от 07 мая 2016, 17:15
В 3 строке (МФУ Гос).
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Администратор от 07 мая 2016, 17:23
Нельзя ничего сделать в вашей ситуации, нужно настраивать ту программу, которая создаёт csv-файлы.
Та программа неправильно расставляет кавычки: кавычка перед "МФУ" есть, а закрывающей кавычки нет.

Если открывать csv-файл в экселе без учёта ограничителей строк (сейчас это кавычка), то если в самой ячейке есть точка с запятой, то текст в ячейке будет разбит.

Сам я не смогу сделать макрос, который проведёт анализ csv-файла на правильность ограничителей, для меня это сложная задача.
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Salsaz от 07 мая 2016, 17:29
Всё понятно. Спасибо.
Для меня это тем более темный лес.
Название: Re: Сбивается текст из csv-файла при открытии в Excel
Отправлено: Администратор от 07 мая 2016, 17:45
Вот такой есть способ открытия csv-файлов в экселе (для "Excel 2016"):
В этом способе не используются ограничители строк и все кавычки будут считаться текстом, а не спецсимволами. Если в ячейке есть точка с запятой, то текст в ячейке будет разбит. Может этот способ вам чем-то поможет.