|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.03.2012, 13:44 | #1 |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Проблемы с чтением и записью в файл в Юникоде
Добрый день. Есть код:
Запись в файл: Option ExplicitЧтение из файла: Option ExplicitПричем как оказалось с обеими частями есть проблемы. 1)При сохранении в файл есть нежелательный промежуточный шаг записи нужного столбца на чистый лист, так как даннай код сохраняет только лист целиком. 2)Чтение оказывается выдает самые разные ошибки, иногда проглатывает кавычки, иногда раздваивает последнюю букву, иногда вместо 111111 или 222 возвращает 6(На снимке первый столбец - загружен из файла, второй исходный).Хотя если текст состоит из одних лишь букав без знаков, проблем никаких . Выложил обе части потому как что то мне подсказывает если чуток изменить код записи, код чтения не будет работать всовсем. Очень прошу помогите решить данные проблемы. |
31.03.2012, 14:09 | #2 |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
Что-то как-то сложно всё у вас.
Не понял, для чего всё это нужно. Зачем, к примеру, именно Unicode? Вы бы объяснили, для чего всё это (и как должно работать) - а мы, глядишь, что-нибудь и придумали. PS: Посмотрите эти функции - может, что и пригодится: http://excelvba.ru/code/GetFileOrFolderPath http://excelvba.ru/code/CSV2Excel http://excelvba.ru/code/TextFile2Array http://excelvba.ru/code/Range2CSV http://excelvba.ru/code/Text2Array http://excelvba.ru/code/Array2worksheet http://excelvba.ru/code/txt |
31.03.2012, 14:28 | #3 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
По записи в файл одного столбца есть такой пример (скорректировал под задачу, работает):
Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 31.03.2012 в 14:36. |
31.03.2012, 14:51 | #4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,166
|
Чуть исправил, добавьте свою функцию GetFilePath():
Код:
Хотя думаю лучше писать в файл чуть сложнее, без лишнего, и импортировать тогда всё Resize(UBound(a))+1
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 31.03.2012 в 14:55. |
31.03.2012, 17:51 | #5 | |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Цитата:
К примеру запущу програмку на русской машине, столбец сохраню в файл. Затемб на английской машине попробую загрузить этот столбец из текстового файла в програмку(Такая ситуация полюбому будет). В таком случае русские буквы превратятся в кракозябры. Для этого нужен Юникод |
|
31.03.2012, 18:28 | #6 |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Hugo. Ваш код гораздо лаконичней моего, что безусловно преимущество. Только на английской машине появляется та проблема что я упомянул в предудущем письме. Результат на снимке
|
31.03.2012, 21:37 | #7 |
Старожил
Регистрация: 31.12.2010
Сообщений: 2,133
|
В проблему не вникал, но может так сделать: сформировать строку из ячеек, переложить ее в байтовый массив, сохранить массив в файл (в двоичном виде).
Потом считать файл в байтовый массив, переложить в строку, разбить на ячейки? Вот, попробуйте. Полученный файл открывается Блокнотом, причем Блокнот распознает его как Unicode файл. Код:
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Последний раз редактировалось Казанский; 31.03.2012 в 22:18. |
01.04.2012, 12:27 | #8 |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Кажется последний способ не выдает никаких ошибок, простой и надежный. Спасибо, Казанкский
|
14.05.2012, 17:54 | #9 |
Пользователь
Регистрация: 26.03.2012
Сообщений: 42
|
Столкнулся с проблемой что нужно сохранять не один столбец, а два различных столбца с разных листов.
В отдельные файлы сохранить то не сложно. А вот как сохранить их оба в один документ и потом считать оттуда же обратно(используя теже самые функции записи и считывания чтоб проблем с юникодом не возникало)? А если не два, а допустим 4 столбца? Заранее спасибо |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с записью и чтением из файла при шифровании | dolphin705 | Общие вопросы Delphi | 8 | 25.10.2011 16:13 |
C++\CLI проблемы с чтением русских букв с txt | Eros | Общие вопросы .NET | 1 | 04.10.2010 02:03 |
Проблемы с записью/чтением типизированного файла | khrenkov | Общие вопросы Delphi | 1 | 20.09.2010 15:09 |
Проблемы с чтением данных в Delphi | cyberandom | Помощь студентам | 11 | 05.02.2010 19:52 |
Проблемы с записью в файл | ROD | Общие вопросы C/C++ | 9 | 03.04.2009 12:32 |