Коллеги.
Обращаюсь к тем, кто делает для себя небольшие расчётные таблицы в MS Excel.
Думаю, многие из Вас сталкивались с тем обстоятельством, что при копировании листов, принадлежащие ему ячейки с текстом обрезаются до 256 символов. Потом требуется эти ячейки копировать отдельно. Когда таких ячеек много (например, пояснения или сопровождающий текст), это обстоятельство создаёт определённое неудобство. Всегда остаётся возможность что-то упустить, недосмотреть.
Я попросил сына, и он сделал мне в Visual Basic маленькую программку (=9,5 кб), которая разбивает вставляемый в неё текст на абзацы с заданным количеством символов (не более указанного числа). Ниже, кому интересно - небольшой комментарий к программке.
Текст рвётся по ближайшему к заданному лимиту пробелу (в меньшую сторону). Количество знаков можно задать любое.
Кстати, все знают, что в MS Excel существует не только лимит на количество символов в ячейке (256) при копировании листов. Существует общий максимальный лимит на помещение объёма символов в одну ячейку. Он составляет величину 1163-1171 символ. Если Вы поместите в ячейку большее количество символов, то при просмотре, и потом - на бумаге, будут видны символы только в объеме с указанным количеством. Остальные символы будут обрезаны. При этом пробелы также считаются за символ. Что интересно, в строке формул, при нажатии курсором на искомую ячейку, будут видны символы в полном объёме.
Таким образом, если Вы помещаете (скажем, из Word`a) в Excel большой текст на пол страницы, на целую страницу, Вам потребуется потратить время на его распределение по ячейкам. Если конечные ячейки не объединены из нескольких, и вставляемый большой текст имеет абзацы размером не более 1163-1171 символов, то Excel сам распределит текст по ячейкам сверху вниз (хотя Вы будете вставлять текст целиком в одну верхнюю ячейку). При несоблюдении указанных условий разбивать текст и распределять его по ячейкам Вам придётся вручную. В этом случае предлагаемая программка может также пригодиться.
Устанавливать программку не требуется. Просто щёлкаете клавишей мышки дважды по значку и запускаете программу. Далее в верхнее поле вставляете из буфера обмена исходный текст. Для вставки текста опять достаточно по верхнему полю окна дважды щёлкнуть левой клавишей мышки. Далее на средней разделительной перемычке указываете максимальное количество символов в абзаце и щёлкаете по клавише "Ok" (рядом с числом символов).
В нижнем поле появится через секунду-три искомый текст, разбитый на абзацы. Количество символов в каждом абзаце не превысит указанное Вами число. Можно копировать этот текст обычными методами (с помощью всплывающего меню на правой кнопке мышки, или выделить текст курсором и на клавиатуре набрать “Ctrl+C”) и использовать дальше.
Есть, правда, одно препятствие… Программы современного пакета MS Office используют для работы с текстами Юникод. А Visual Basic работает на уровне Windows 98. Поэтому при переносе текста назад в программу MS Office выйдет нестыковка, текст будет не читаем. Для его восстановления можно воспользоваться несколькими способами.
Можно поместить текст в Word. И далее в меню в разделе «Сервис» воспользоваться опцией «Исправить повреждённый текст…».
Во втором варианте текст можно поместить в файл блокнота *.txt. Откуда текст без всяких исправлений и восстановлений читается и помещается в любую программу MS Office. Для этих целей в рассматриваемой программке в правой части напротив каждого окна имеется клавиша “Save”. При нажатии на одну из них текст соответствующего окна сохраняется в одном из файлов InPut_Text.txt или OutPut_Text.txt. Файлы помещаются в той же директории или папке, в которой находится файл запущенной программки.
Кстати, там же в правой части открытого окна программки имеются клавиши «Очистить». Но пользоваться данной клавишей не обязательно. При вставке нового текста для обработки, старый удаляется автоматически.
Вот собственно и всё. К сожалению, язык наш таков, что пояснения к маленькой программе оказались по размеру больше неё самой.
Там же в прикреплённом файле я поместил программу «Штирлиц 4_01». Я её когда-то скачал из Интернета и иногда пользуюсь её услугами. Она предназначена для восстановления повреждённого текста и декодировки. Она требует установки. Этой программой также можно воспользоваться для преобразования текста в Юникод. Это будет третий вариант из перечисленных выше.
Успехов.
Прикреплённый файл 705 кб.
-----------------
Кстати, интересный факт... Набирал это сообщение в текущем окне, и при этом манипулировал описываемой программой, при помещении текста из неё в файл блокнота. При этих операциях набранный здесь (в Internet Explorer) текст исчез. Странная взаимосвязь...