Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сохранить лист excel как текст msdos, убрать лишние кавычки - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранить лист excel как текст msdos, убрать лишние кавычки (Макросы/Sub)
Сохранить лист excel как текст msdos, убрать лишние кавычки
Vasya_Pupkin Дата: Суббота, 01.07.2017, 13:41 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Есть лист с ячейкой, в которой записан текст ааа23 и второй ячейкой, в которой записан текст ааа23,5.
Макросом сохраняю лист как текст msdos:
[vba]
Код
Sub макрос1 ()

ActiveWorkbook.SaveAs Filename:="C:\Users\Xfan\Desktop\test.txt", _
FileFormat:=xlTextMSDOS, CreateBackup:=False
End Sub
[/vba]

При просмотре test.txt вижу, что ко второй ячейке добавились кавычки "" (понимаю, что в ячейке была запятая и это из-за неё)
aaaa23
"aaa23,5"

Как сделать, чтобы файл сохранялся без кавычек?
aaaa23
aaa23,5

Почему так происходит?


Сообщение отредактировал Vasya_Pupkin - Суббота, 01.07.2017, 13:47
 
Ответить
СообщениеЕсть лист с ячейкой, в которой записан текст ааа23 и второй ячейкой, в которой записан текст ааа23,5.
Макросом сохраняю лист как текст msdos:
[vba]
Код
Sub макрос1 ()

ActiveWorkbook.SaveAs Filename:="C:\Users\Xfan\Desktop\test.txt", _
FileFormat:=xlTextMSDOS, CreateBackup:=False
End Sub
[/vba]

При просмотре test.txt вижу, что ко второй ячейке добавились кавычки "" (понимаю, что в ячейке была запятая и это из-за неё)
aaaa23
"aaa23,5"

Как сделать, чтобы файл сохранялся без кавычек?
aaaa23
aaa23,5

Почему так происходит?

Автор - Vasya_Pupkin
Дата добавления - 01.07.2017 в 13:41
Karataev Дата: Суббота, 01.07.2017, 13:53 | Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 902
Репутация: 337 ±
Замечаний: 0% ±

Excel
Не знаю, почему так происходит, т.к. не знаю, что такое формат "TextMSDOS" (надо гуглить), но если использовать параметр "Local", то кавычки не вставляются:
[vba]
Код
Sub макрос()
    ActiveWorkbook.SaveAs Filename:="C:\Users\Xfan\Desktop\test.txt", _
        FileFormat:=xlTextMSDOS, CreateBackup:=False, Local:=True
End Sub
[/vba]
По идее, кавычки вставляются, если запятая является разделителем между столбцами. Значит в формате "TextMSDOS" в США используется разделитель запятая.


 
Ответить
СообщениеНе знаю, почему так происходит, т.к. не знаю, что такое формат "TextMSDOS" (надо гуглить), но если использовать параметр "Local", то кавычки не вставляются:
[vba]
Код
Sub макрос()
    ActiveWorkbook.SaveAs Filename:="C:\Users\Xfan\Desktop\test.txt", _
        FileFormat:=xlTextMSDOS, CreateBackup:=False, Local:=True
End Sub
[/vba]
По идее, кавычки вставляются, если запятая является разделителем между столбцами. Значит в формате "TextMSDOS" в США используется разделитель запятая.

Автор - Karataev
Дата добавления - 01.07.2017 в 13:53
Vasya_Pupkin Дата: Среда, 05.07.2017, 21:19 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Karataev, при усложнении текста в ячейке такой способ уже не работает.
например: в ячейке есть текст aaa23,5;текст/текст08,4;0000;текст;
При сохранении листа как TextMSDOS снова вижу в блокноте эти кавычки ""
"aaa23,5;текст/текст08,4;0000;текст;"
Нашел что "" используются как ограничитель строк и excel ставит их, наверное, для себя на будущее для импорта из txt. (см. меню ->текст по столбцам -> шаг 2из3)

Вопрос по прежнему актуален. Не открывать же потом txt , прочесывать в цикле текст и удалять "" . %)
 
Ответить
СообщениеKarataev, при усложнении текста в ячейке такой способ уже не работает.
например: в ячейке есть текст aaa23,5;текст/текст08,4;0000;текст;
При сохранении листа как TextMSDOS снова вижу в блокноте эти кавычки ""
"aaa23,5;текст/текст08,4;0000;текст;"
Нашел что "" используются как ограничитель строк и excel ставит их, наверное, для себя на будущее для импорта из txt. (см. меню ->текст по столбцам -> шаг 2из3)

Вопрос по прежнему актуален. Не открывать же потом txt , прочесывать в цикле текст и удалять "" . %)

Автор - Vasya_Pupkin
Дата добавления - 05.07.2017 в 21:19
Karataev Дата: Среда, 05.07.2017, 21:24 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 902
Репутация: 337 ±
Замечаний: 0% ±

Excel
А почему Вы используете формат "TextMSDOS"? Это же ведь какой-то редкий формат. Может быть Вы что-то перепутали? Или действительно Вы хотите использовать этот формат?




Сообщение отредактировал Karataev - Среда, 05.07.2017, 22:05
 
Ответить
СообщениеА почему Вы используете формат "TextMSDOS"? Это же ведь какой-то редкий формат. Может быть Вы что-то перепутали? Или действительно Вы хотите использовать этот формат?

Автор - Karataev
Дата добавления - 05.07.2017 в 21:24
Vasya_Pupkin Дата: Среда, 05.07.2017, 21:30 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 3
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
А почему Вы используете формат "TextMSDOS"?

Это не моя прихоть , так требуется для экспорта в стороннюю БД :(
 
Ответить
Сообщение
А почему Вы используете формат "TextMSDOS"?

Это не моя прихоть , так требуется для экспорта в стороннюю БД :(

Автор - Vasya_Pupkin
Дата добавления - 05.07.2017 в 21:30
AndreTM Дата: Среда, 05.07.2017, 21:36 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1762
Репутация: 496 ±
Замечаний: 0% ±

2003 & 2010
С сохранением данных в "других форматах" в Excel все достаточно сложно, особенно в чисто текстовых. Это вы ещё до ограничения "255 символов в ячейке" не добрались, видимо :)

Возьмите процесс сохранения под свой полный контроль: формируйте текстовый буфер с нужными вам данными в нужном вам виде и формате, и сохраняйте его именно как "текст в файл". По поводу нужных для этого функций - можете посмотреть здесь и здесь.

В качестве примера - есть готовое решение, которое вы при желании можете переработать под свои нужды.


Skype: andre.tm.007
Donate: Qiwi: 9517375010


Сообщение отредактировал AndreTM - Среда, 05.07.2017, 22:24
 
Ответить
СообщениеС сохранением данных в "других форматах" в Excel все достаточно сложно, особенно в чисто текстовых. Это вы ещё до ограничения "255 символов в ячейке" не добрались, видимо :)

Возьмите процесс сохранения под свой полный контроль: формируйте текстовый буфер с нужными вам данными в нужном вам виде и формате, и сохраняйте его именно как "текст в файл". По поводу нужных для этого функций - можете посмотреть здесь и здесь.

В качестве примера - есть готовое решение, которое вы при желании можете переработать под свои нужды.

Автор - AndreTM
Дата добавления - 05.07.2017 в 21:36
Karataev Дата: Среда, 05.07.2017, 21:47 | Сообщение № 7
Группа: Проверенные
Ранг: Ветеран
Сообщений: 902
Репутация: 337 ±
Замечаний: 0% ±

Excel
Сейчас более подробно попытался вникнуть в проблему. Оказывается Excel в текстовых файлах с табуляцией ставит ограничители для точки с запятой.
По идее такого не должно быть, в ограничители должны заключаться символы-разделители.
Значит для Вашей задачи не подходит метод "SaveAs". Пробуйте то, что предложено в посте 6.
Vasya_Pupkin, удалить кавычки просто так Вы не сможете. Если Вы откроете файл с помощью Open, то после закрытия у файла уже будет другой формат, а не MS DOS. В Excel' е эти кавычки тоже не получится удалить.




Сообщение отредактировал Karataev - Среда, 05.07.2017, 22:08
 
Ответить
СообщениеСейчас более подробно попытался вникнуть в проблему. Оказывается Excel в текстовых файлах с табуляцией ставит ограничители для точки с запятой.
По идее такого не должно быть, в ограничители должны заключаться символы-разделители.
Значит для Вашей задачи не подходит метод "SaveAs". Пробуйте то, что предложено в посте 6.
Vasya_Pupkin, удалить кавычки просто так Вы не сможете. Если Вы откроете файл с помощью Open, то после закрытия у файла уже будет другой формат, а не MS DOS. В Excel' е эти кавычки тоже не получится удалить.

Автор - Karataev
Дата добавления - 05.07.2017 в 21:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сохранить лист excel как текст msdos, убрать лишние кавычки (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!