Не знаю, почему так происходит, т.к. не знаю, что такое формат "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
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
А почему Вы используете формат "TextMSDOS"? Это же ведь какой-то редкий формат. Может быть Вы что-то перепутали? Или действительно Вы хотите использовать этот формат?
А почему Вы используете формат "TextMSDOS"? Это же ведь какой-то редкий формат. Может быть Вы что-то перепутали? Или действительно Вы хотите использовать этот формат?Karataev
Сообщение отредактировал Karataev - Среда, 05.07.2017, 22:05
С сохранением данных в "других форматах" в Excel все достаточно сложно, особенно в чисто текстовых. Это вы ещё до ограничения "255 символов в ячейке" не добрались, видимо
Возьмите процесс сохранения под свой полный контроль: формируйте текстовый буфер с нужными вам данными в нужном вам виде и формате, и сохраняйте его именно как "текст в файл". По поводу нужных для этого функций - можете посмотреть здесь и здесь.
В качестве примера - есть готовое решение, которое вы при желании можете переработать под свои нужды.
С сохранением данных в "других форматах" в Excel все достаточно сложно, особенно в чисто текстовых. Это вы ещё до ограничения "255 символов в ячейке" не добрались, видимо
Возьмите процесс сохранения под свой полный контроль: формируйте текстовый буфер с нужными вам данными в нужном вам виде и формате, и сохраняйте его именно как "текст в файл". По поводу нужных для этого функций - можете посмотреть здесь и здесь.
В качестве примера - есть готовое решение, которое вы при желании можете переработать под свои нужды.AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Среда, 05.07.2017, 22:24
Сейчас более подробно попытался вникнуть в проблему. Оказывается Excel в текстовых файлах с табуляцией ставит ограничители для точки с запятой. По идее такого не должно быть, в ограничители должны заключаться символы-разделители. Значит для Вашей задачи не подходит метод "SaveAs". Пробуйте то, что предложено в посте 6. Vasya_Pupkin, удалить кавычки просто так Вы не сможете. Если Вы откроете файл с помощью Open, то после закрытия у файла уже будет другой формат, а не MS DOS. В Excel' е эти кавычки тоже не получится удалить.
Сейчас более подробно попытался вникнуть в проблему. Оказывается Excel в текстовых файлах с табуляцией ставит ограничители для точки с запятой. По идее такого не должно быть, в ограничители должны заключаться символы-разделители. Значит для Вашей задачи не подходит метод "SaveAs". Пробуйте то, что предложено в посте 6. Vasya_Pupkin, удалить кавычки просто так Вы не сможете. Если Вы откроете файл с помощью Open, то после закрытия у файла уже будет другой формат, а не MS DOS. В Excel' е эти кавычки тоже не получится удалить.Karataev
Сообщение отредактировал Karataev - Среда, 05.07.2017, 22:08