Страницы: 1 2 След.
RSS
Как включить в список разделителей столбцов новый символ EOT ("Конец Передачи" \x04)?, Редактирование каталога для Электронной Библиотеки MyHomeLib
 
Стандартные символы – разделители полей(столбцов) в EXCEL это Табуляция, Пробел, точка с запятой, запятая, пробел.
Проблема:
Подскажите, Как включить в список разделителей полей для EXCEL символ EOT(Конец Передачи) ?
Напрямую, «в лоб» проблема не решается. Если в Мастере Текстов указать Alt04 что соответствует символу EOT то никакой реакции.
Символ EOT (Конец Передачи)  \004 или   4 или  EOT или   \x04 или  ^D  или  Alt04       (End of transmission)
http://donsnotes.com/tech/charsets/ascii.html
Все Дело в том, что в  старом текстовом файле-каталоге Электронной Библиотеки  в качестве разделителей полей были использованы символы EOT
Стоит задача редактировать этот файл-каталоге в EXCEL
Образец файла-каталога во Вложении
Спасибо!
Изменено: jakky - 07.05.2016 18:41:06
 
Скопируйте этот символ из любой строки (хоть его и не видно, но он там есть) и вставьте в поле Другой (визуально его то-же не увидите). И все получиться. Да, и отметьте галочкой - считать несколько одинаковых разделителей как один
Например в строке "Аббасзаде,Гусейн,:" после двоеточия не пробел (как может показаться), а именно этот спецсимвол
У меня получилось
Согласие есть продукт при полном непротивлении сторон
 
Могу предложить обходной вариант: откройте текстовый файл сначала в блокноте и вручную, с помощью Найти и заменить замените этот символ на знак табуляции. А затем уже открывайте измененный файл в Excel'е.
Чтобы вставить в поле "Заменить" знак табуляции, сначала напечатайте его в блокноте (можете в другом файле), а затем скопируйте и затем вставьте в поле "Заменить".
Недостаток такого варианта - вдруг в текстовом файле уже есть знаки табуляции.
Изменено: Karataev - 07.05.2016 19:06:05
 
Цитата
Karataev написал:
Найти и заменить замените этот символ на знак табуляции.
Недостаток такого варианта - вдруг в текстовом файле уже есть знаки табуляции.
Вариант - заменить в Блокноте Ваш спецсимвол на, например ~ (тильду). А дальше по общей схеме с разделителем ~ (тильда)
Согласие есть продукт при полном непротивлении сторон
 
Уважаемый Sanja вы меня озадачили. Я пробовал решить эту задаче на разных программах электронных Таблиц (Kingsoft Office,  LibreOffice 5.1, OpenOffice 4.1.2, SoftMaker Office Professional) – без результата
Моя система Windows 7x64 SP1 16Gb ; Microsoft Office Excel 2007
Пожалуйста(если это возможно) поясните подробнее,
- какой Программой открыли файл и затем скопировали символ EOT
- Ваша версия Windows
- Ваша версия  Microsoft Office Excel (или другая версия Электронной Таблицы)
Подробно, по шагам Ваши действия по преобразованию файла в EXCEL
Спасибо.
 
Однако:
1 -
Цитата
Sanja написал: заменить в Блокноте Ваш спецсимвол
2 - кросс с решением от Бороды -  http://www.excelworld.ru/forum/2-23513-1
Изменено: Z - 07.05.2016 21:32:57
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Супер. Будем пробовать. А какую Windows (у меня Windows7x64 SP1) и какую версию EXCEL (у меня Microsoft Office Excel 2007) использовать, это без разницы?
Sanja написал:
Вариант - заменить в Блокноте Ваш спецсимвол на, например ~ (тильду). А дальше по общей схеме с разделителем ~ (тильда)
Увы, там до 500000 и выше записей Книг, умереть не встать... Если уж и менять, ... то на что-то экзотическое, чтоб не было потерь книг в Каталоге.
Изменено: jakky - 07.05.2016 21:35:09
 
Открыл Ваш файл New2 в обычном Блокноте. Скопировал этот чудо символ - Правка - Заменить...-Что (Ваш символ) - Чем: ~ - Заменить все
Думаю версии Windows и Office роли не играют
Согласие есть продукт при полном непротивлении сторон
 
т.е. Вы в текстовом файле заменили знак EOT на знак тильду, а Затем этот измененный текстовый файл передали в EXCEL?
Мдаа... там вообще-то много книг(500000 и больше), и знак Тильда наверняка есть на каких-то строках, а каждая строка - это книга... т.е. те книги будут потеряны, что не айс...
Увы.
Нужен именно ПРЯМОЙ выбор EOT как Разделитель столбцов. Замена EOT на какой-то другой символ крайне не желательна
Изменено: jakky - 07.05.2016 21:33:39
 
Цитата
jakky написал: Увы.
Нужен именно ПРЯМОЙ выбор EOT
Да я не настаиваю, ищите прямой. Успехов
Согласие есть продукт при полном непротивлении сторон
 
Судя по Вашему скептицизму, заставить EXCEL использовать символ EOT( т.е \x04) в качестве разделителя столбцов НЕвозможно?
(прошу прощения, я не программист)
Изменено: jakky - 07.05.2016 21:34:05
 
jakky, а без цитирования никак? Кнопка цитироания не для ответа.
 
Я не знаю. Думаю что на прямую - нет
Согласие есть продукт при полном непротивлении сторон
 
Цитата
jakky написал: т.е. те книги будут потеряны,
почему потеряны? Просто они не будут разбиты по ячейкам должным образом. Ну уж из полумиллиона записей десяток-другой руками разбить...
Да и не уверен я что
Цитата
jakky написал: знак Тильда наверняка есть на каких-то строках
 
Согласие есть продукт при полном непротивлении сторон
 
Вот ведь блин… Интересно, за каким  <...>  Уважаемый Автор-создатель Программы-Бибиотекаря MyHomeLib
http://home-lib.net/
устроил нам всем такую засаду? А может, символ-разделитель EOT используется в каких-то других Электронных таблицах(не EXCEL)?  Тогда и файл с EOT-разделителем надо открывать не с EXCEL?
Но я вроде все известные Табличные Процессоры  перебрал …
Изменено: jakky - 07.05.2016 21:25:51
 
Может, кстати, Вам "Уважаемый Автор-Создатель" и поможет? Не пытались с ним связаться?
Согласие есть продукт при полном непротивлении сторон
 
jakky, следите за лексикой! Штраф 50%.
 
Сорри...
Программа-библиотекарь  MyHomeLib бесплатная, свободно распространяемая и с открытым кодом. Типа дерзайте пацаны, учите Программирование... мда.
 
По вопросу: я скопировал текст и просто вставил его на лист - всё разбилось по столбцам. Правда, одна строка со сбоем.
 
Интересно... Вы смогли использовали EOT как разделитель или тоже его чем-то заменили?
Вот полный файл-каталог  от Библиотеки Траума( там только порядка 200000 книг) В сжатом виде он 13Mb, после распаковки архиватором 7Z будет 50Mb (расширение .inp, но это простой txt-файл)  
https://yadi.sk/d/RBp22PGhrYyLX
Изменено: jakky - 07.05.2016 21:46:32
 
Цитата
jakky написал:
Вы смогли использовали EOT как разделитель или тоже его чем-то заменили?
Нет, просто вставил все 33 скопированные из .txt строки на лист. Сбойная строка № 13 (короче на один столбец). Но может так и есть - я не вникал.
Это я делал в 2010. Попробовал в 2003 - фокус не прошёл )
 
Супер!
Так что, EXCEL-2010 понимает символ EOT как разделитель столбцов?? Там что, и вкладка с выбором EOT есть в Мастере Текстов??
Достать-то EXCEL-2010 не проблема, а как запустить эту перекодировку... Вы скопировали символ EOT в блокноте из исходного текста каталога, а потом вставили в поле "другой разделитель" в Мастере Текстов EXCEL-2010 ?
Изменено: jakky - 07.05.2016 22:02:12
 
Ещё раз: я делал не при помощи Мастера - простым копированием-вставкой.
А чем не устроил вариант из #2?
 
Вариант #2 т.е. открываешь файл Блокнотом, копируешь оттуда символ EOT (он там виден, как перевернутая буква "г"), потом открываешь этот файл в EXCEL-е и в Мастере выбираешь "другой" и в окошко копируешь из буфера(при этом в окошке ничего не появляется)?
Ничего не получилось.
Я вот что-то не пойму, как у Вас получилось при прямом копировании текста ... EXCEL-2010 по умолчанию воспринимает символ EOT как разделитель?? Фантастика.
 
Изменено: jakky - 07.05.2016 22:25:29
 
Юрий М, у меня в 2010-м такой фокус не прошел
Согласие есть продукт при полном непротивлении сторон
 
Может у меня Excel особенный? )) Скопировал из блокнота весь блок и вставил на лист.
 
Вот что получилось:
 
Мда... С каталогом хотелось бы разобраться. Без EXCEL-я внести туда свои книге дохлый номер.
К тому же запись "1" в девятое поле строки файла-каталога делает книгу "невидимой" для читателя... Такая, блин цензура от Держателя Каталога.
А без Каталога все собрание книг - просто Гора непойми-чего.
 
Цитата
Юрий М написал:
от что получилось:
А у меня больше столбцов получилось :)
 
Уточнение: сейчас попробовал проделать этот фокус с новой книгой - не получилось. Вспомнил, что я пытался перед этим программно выполнить "Текст по столбцам" вот таким кодом (на лист была скопирована одна первая строка):
Код
Sub Макрос1()
    Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :=Chr(4), FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
End Sub
После этого удалил первую строку и теперь копирование/вставка В ЭТОЙ КНИГЕ всего блока происходит корректно. Макрос выполнять больше не нужно - можно про него забыть.
Страницы: 1 2 След.
Читают тему
Наверх