"ПРОГРАММА  КОНВЕРТИРОВАНИЯ  ТЕКСТОВЫХ  ДОКУМЕНТОВ  В  ЭЛЕКТРОННЫЕ ТАБЛИЦЫ  EXCEL"

  • 1.Назначение программы.
  • 2.Требования и ограничения
  • 3.Установка программы
  • 4.Режимы работы программы
  • 4.1 Общая схема работы программы.
  • 4.2 Новый проект
  • 4.2.1 Окно "Файлы"
  • 4.2.2 Режим "Групповой проект"
  • 4.2.3 Окно "Визуальное описание документа"
  • 4.2.4 Окно "Дополнительные параметры"
  • 4.2.5 Окно "Сохранение проекта"
  • 4.2.6 Окно "Конвертирование документа"
  • 4.3 Существующий проект
  • 4.3.1 Окно "Файлы"
  • 4.3.2 Окно "Визуальное описание документа"
  • 4.4 Пакетный режим
  • 5.Дополнительные возможности версии 1.3
  • 6.Справочная система
  • 7.Условия поставки
  • 8.Заключение

    1.Назначение программы.

    Программа предназначена для преобразования текстовых отчётов в документы Excel. При этом пока не ставится задача включения в такой документ вычислительных операций. Входной текстовый документ преобразуется в документ Excel "как есть", включая все строки заголовка, информационные и итоговые строки и сохраняя существующее деление на листы. При этом однако, он получает свойства документа Excel, то есть в дальнейшем его можно редактировать как полноценный документ Excel, а в простейшем случае просто отправить на печать как документ Windows. Здесь следует отметить, что главным образом программа предназначена для обработки текстовых документов, созданных приложениями, разработанными для платформы MS DOS и продолжающими до сих пор работать в среде Windows. Естественно эти документы имеют кодировку MS DOS и их трудно адаптировать к современной вычислительной среде. Главным же, на взгляд Автора, является возможность переноса данных из среды MS DOS в среду Windows. Конечно, в этом случае после конвертирования документа в Excel как правило потребуется некоторая ручная доработка документа Excel, но потом с этими данными можно работать в среде Windows, используя всю мощь пакета Excel.

    2.Требования и ограничения

    Программа выполняет конвертирование текстовых отчётов в документы Excel и естественно для её работы на компьютере пользователя должен быть установлен пакет Office с компонентой Excel. При этом, хотя разные версии Office имеют разные имена об'ектных библиотек, в списке подключаемых библиотек указана об'ектная библиотека для Office 97, что обеспечивает нормальную работу программы со всеми старшими версиями Office-а. Реально, программа кроме Office 97, работала также с Office 2000 и Office 2003, а разработка и отладка программы велась под Windows XP c Office XP. В тоже время, указанная выше привязка, не позволит программе работать с младшими версиями Office-a, что, впрочем, Автором не проверялось. Здесь могут возникнуть и другие проблемы. Что касается версий операционной системы Windows, то программа тестировалась на всех версиях, начиная с Windows 98SE и выше, включая два варианта Windows XP. На более младших версиях программа не проверялась. Попытка работы с 1-ой редакцией Windows 98 показала, что имеет место несовместимость старых и новых компонент из списка, приведённого чуть ниже. Вполне возможно, что требуется просто замена этих компонент на новые версии, однако Автор этого не проверял. Автор также не проверял работу программы во всех возможных сочетаниях версий Office и версий Windows, так как эта задача выглядит слишком трудоёмкой.

    3.Установка программы

    Программа написана на языке VB6 и для работы на машине пользователя требует создания определённой среды. Эта операция выполняется в процессе установки программы, после запуска Setup.exe из распакованного дистрибутива программы. Компоненты, необходимые для нормальной работы программ на VB6 будут переписаны в каталог Windows. В тоже время Автор предлагает и ручной способ установки программы, что в ряде случаев может быть вполне оправданно. Для работы программы требуется наличие следующих компонент, которые, как правило, должны находиться в системных каталогах Windows: asycfilt.dll COMCAT.DLL comct232.ocx - ActivX comdlg32.ocx - ActivX MSCOMCTL.OCX - ActivX msvbvm60.dll - виртуальная машина VB6 oleaut32.dll - OLE olepro32.dll - OLE stdole2.tlb - OLE Automation Кроме перечисленных выше компонент программа использует об"ектную библиотеку Excel, но она должна присутствовать на компьютере пользователя по определению, в составе установленного на компьютере Office-a. Автором предлагается 3 варианта загрузочных комплектов, соответствующих 3 вариантам установки: Mini - файл архива с этим вариантом занимает об'ём около 170 кбайт. Архив включает саму программу, файл справки Help.txt, два варианта файла ReadMe и файл license.txt. Остальные компоненты, создающие среду для VB6 и OLE - интерфейс есть в любом дистрибутиве Windows и частично или полностью они могут уже быть в каталоге Windows. Все эти компоненты, перечисленные в списке, могут быть вручную дописаны в каталог Windows\System для систем Win98\ME, в каталог Winnt\System32 для Windows 2000 или в каталог Windows\System32 для Win XP. Впрочем имена корневых каталогов у некоторых пользователей могут быть другими. Кроме этого, дописанные компоненты должны быть зарегистрированы в реестре с помощью программы REGSVR32. Midi - файл архива с этим вариантом занимает об'ём 1,6 Мгб. Кроме файлов, перечисленных в архиве Mini здесь добавлены те самые 9 файлов, создающие для программы необходимую среду. Здесь же находятся и два пакетных файла: Copy9X.bat и CopyNT.cmd. С помощью 1-го из них Вы можете скопировать и зарегистрировать в системе все недостающие у вас компоненты среды для Win98/ME. 2-ой файл сделает тоже самое, если Вы работаете с Win2000 или с WinXP. Пакетный файл должен быть запущен прямо из данного каталога. Саму программу и сопровождающие её текстовые файлы Вы можете поместить в любой каталог и при необходимости создать ярлык на Рабочем столе. Сделать всё это очень просто. Maxi - файл архива с этим вариантом занимает об'ём 1,8 Мгб. Это полный инсталляционный пакет, в котором реализуется определённый сценарий установки. Следуя указаниям программы пользователь определяет место расположения программы, группу, создание ярлыка на Рабочем столе и т.д. Следует отметить, что выполнив однократную установку Mini, Midi или Maxi-варианта, в дальнейшем для обновления программы пользователю достаточно скачать Mini-вариант и переписать все его компоненты вместо устаревших. Mini и Midi -варианты поставляются в виде архивов WinRar.

    4.Режимы работы программы

    4.1 Общая схема работы программы.

    Функционально, работу программы можно разделить на две основные части: - описание входного документа; - конвертирование документа в книгу Excel. В процессе описания входного документа формируется файл проекта, который потом может многократно использоваться для конвертирования этого или аналогичного по структуре документа. В начале работы программы Вы видите предложение выбрать вариант работы программы с "Новым проектом" или "Существующим проектом".

    4.2 Новый проект

    4.2.1 Окно "Файлы"

    Нажав кнопку "Новый проект" Вы попадаете в следующее окно программы,- окно "Файлы", в котором пользователь последовательно указывает маршрут и имя файла Входного документа, файла Проекта, под которым тот будет сохранён, и файла Выходного документа, - вместо последнего пользователь может поставить галочку в Боксе с названием "не закрывать выходной документ", - в этом случае после конвертирования документа полученная книга Excel будет открыта в окне Excel и пользователь сам определяет её дальнейшую судьбу, - сохранить на диске, вывести на печать или удалить. Если пользователь всё-таки явно указывает в диалоге имя выходного документа, то после этого в этом же окне появляется Бокс с названием "Групповой проект", - его назначение будет описано чуть позднее. Указание маршрута и имён файлов выполняется либо путём ввода этих данных вручную с клавиатуры в соответствующих текстовых полях, либо с помощью кнопок "Обзор". Возможно и произвольное сочетание двух этих методов. В случае ввода с клавиатуры пользователь кнопкой мышки щелкает в текстовом поле, - при этом поле автоматически очищается от комментария и становится активным. Для файлов проекта и выходного документа расширение файлов можно не вводить, - они будут добавлены автоматически. Признаком окончания ручного ввода является нажатие клавиши "ENTER". В случае использования кнопок "Обзор" открывается стандартное окно Windows для выбора файла. Работа в нём общеизвестна, - передвигаясь с помощью мыши по дереву дисков, папок и файлов пользователь выбирает нужный файл. После выхода из окна Windows сделанный Вами выбор отображается в том же текстовом поле и может быть при необходимости подкорректирован вручную. Если Вы работаете с Демо-версией программы, то имя и маршрут файла Проекта не будут запрашиваться, так как в этом нет необходимости.

    4.2.2 Режим "Групповой проект"

    В реальной работе часто встречаются ситуации, когда один и тот же документ или группа документов с одинаковой структурой хранится на диске с разными именами, - например, некоторый документ может формироваться каждый день с оригинальным именем. Понятно, что было бы крайне неудобно каждый раз заново выполнять описание такого документа. Для этого и предназначен бокс с названием "Групповой проект". Указав в этом боксе "Да" Вы далее обычным образом выполняете описание Входного документа, проект которого затем запоминается на диске. Единственным отличием здесь будет то, что в сохранённом проекте не будет имён входного и выходного документов и вследствии этого при вызове проекта в дальнейшем эти имена будут у Вас запрашиваться. Таким образом одно описание будет использоваться для группы входных документов одинаковой структуры. При работе с Демо-версией программы этот режим теряет смысл, так как в Демо-версии сохранения файла проекта на диск не выполняется и здесь все проекты - новые! После завершения работы с окном "Файлы" Вы нажимаете кнопку "Далее" и попадаете в следующее окно.

    4.2.3 Окно "Визуальное описание документа"

    Это главное окно программы. В нём, следуя указаниям программы, пользователь последовательно проходит 13 шагов (на данный момент), в каждом выполняя те действия по описанию документа, которые предлагает ему программа. Только первые 5 шагов являются обязательными, - действия в остальных зависят от структуры входного документа и того, каким пользователь хочет видеть выходной документ, - многие из этих шагов можно пропустить. Автор здесь не будет подробно описывать весь маршрут описания документа, - во-первых, в каждом шаге для пользователя выводятся свои указания; во-вторых, данное окно имеет контекстную справку - кнопка "Справка", которая для каждого шага выводит свою справку. В тоже время здесь Автор хочет изложить некоторые общие положения, принятые им - Автором в данной работе: - принятая Автором структура документа предполагает деление документа по горизонтали на три части: - Заголовок, - одна или несколько первых строк, содержащих название документа; - Шапка, - группа строк, следующих за заголовком, содержащих названия граф документа; - Информационная группа, - строки, содержащие данные и следующие за шапкой. - Заголовок и Шапка в порядке исключения могут совпадать. - Автор исходит из того, что данная структура повторяется на каждом листе документа - в общем случае документ делится на листы, хотя это и не обязательно. - каждый отдельный лист входного документа конвертируется в отдельный лист документа Excel. - Автор предлагает два варианта распознавания отдельных листов: - по символу "Конец листа", который чаще всего имеет место быть в документе; - по "Эталонной строке", указанной пользователем, - это любая выбранная пользователем строка в пределах Заголовка и Шапки документа которая, во-первых не должна повторяться внутри листа, и во-вторых, не должна содержать внутри себя изменяющихся от листа к листу данных, -например, номера листа или чего-нибудь ещё. Выбор какого-то одного варианта выполняет пользователь в шаге 5 диалога. Кроме описанной выше структуры входной документ может содержать внутри себя горизонтальные разделители, - это могут быть линии ограничивающие шапку, разделительные линии между листами или какие-то другие служебные строки, - в общем случае это могут быть строки с любым содержимым. Программа не анализирует содержимое разделительных строк указанных пользователем, но он должен понимать что Конвертор удаляет в процессе работы эти строки и заменяет их линиями подчёркивания. Входной документ может также содержать вертикальные линии, разделяющие графы. Если такие линии есть, то пользователь должен их указать, иначе они смешаются с данными в графах. Программа удаляет символы разделительных линий из каждой строки кроме строк заголовка. Если пользователь хочет иметь разделительные линии в документе Excel, он должен указать это в окне "Дополнительные параметры". Автор хочет отметить также, что в целом процесс описания документа организован так, что в любом шаге пользователь с помощью кнопки "Назад" может вернуться к предыдущим шагам и изменить там любые значения, после чего продолжить работу. Ничего не теряется, и любые изменения сохраняются. Кроме того, Автор хотел бы сказать, что возможности программы безусловно будут расширяться, и диалог описания документа будет увеличиваться, если, конечно, у программы появятся зарегистрированные пользователи.

    4.2.4 Окно "Дополнительные параметры"

    Данное окно появляется при нажатии одноимённой кнопки в форме "Визуальное описание документа" и содержит параметры, уточняющие вид выходного документа. Число таких параметров пока невелико и в дальнейшем будет расширяться. Окно может быть открыто в любом из шагов описания документа, а значения его параметров могут многократно переопределяться. Установленные значения сохраняются в файле проекта. После завершения описания документа появляется окно формы "Сохранение проекта"

    4.2.5 Окно "Сохранение проекта"

    Собственно говоря, данное окно пользователь увидит только в том случае если он работает с полной версией программы. Окно предлагает либо сохранить проект на диске, - кнопка "Далее", либо вернуться к описанию документа, - кнопка "Назад". Работающие с Демо-версией сразу увидят окно формы "Конвертирование документа".

    4.2.6 Окно "Конвертирование документа"

    В данном окне с помощью двух счётчиков пользователь может следить за процессом конвертирования. Кроме того, окно содержит кнопку "Выход", с помощью которой процесс может быть прерван. Перед этим программа всё же спросит Вас насколько осмыслены Ваши действия.

    4.3 Существующий проект

    Выше была описана вся технологическая цепочка от описания маршрутов и имён файлов до выполнения самого конвертирования документа. Однако если Вы повторяете преобразование документа многократно, нет необходимости проходить эту цепочку каждый раз. Сохранённый файл описания проекта позволяет Вам затем выполнять конвертирование любое число раз, как данного документа, так и документов с аналогичной структурой, но с другими именами файлов. Файл описания проекта является обычным текстовым файлом и может быть откорректирован в "Блокноте". Так изменив в этом файле имена и маршруты файлов, и затем запомнив этот файл под другим именем, - важно только оставить расширение .INI, - Вы можете использовать этот проект для другого документа, если, конечно, этот документ имеет аналогичную 1-ому структуру. Выбрав в самом 1-ом окне программы вариант работы "Существующий проект" Вы попадёте в то же окно "Файлы".

    4.3.1 Окно "Файлы"

    В режиме Существующего проекта окно "Файлы" предлагает Вам в первую очередь выбрать маршрут и имя файла проекта. Если проект не групповой и Вас в нём всё устраивает, то после выбора имени проекта Вы нажимаете на кнопку "Далее" и начинается конвертирование документа. Если проект Групповой, то в нём отсутствуют имена входных и выходных файлов, и Вам придётся их указать в таком же диалоге, как и для Нового проекта. В режиме Существующего проекта окно "Файлы" содержит также Бокс с запросом "Модифицировать проект?" Наличие этого запроса позволяет Вам при необходимости изменить в существующем проекте всё, что Вы считаете нужным. Ответив "Да" и нажав на кнопку "Далее" Вы попадёте в уже знакомое окно "Визуальное описание документа".

    4.3.2 Окно "Визуальное описание документа"

    Данное окно в режиме Существующего проекта появится, как уже было сказано, только если Вы решили модифицировать проект. Для пользователя здесь есть только одна особенность работы, отличная от режима Нового проекта, - здесь в окнах каждого шага описания документа уже отображены все параметры документа, содержащиеся в проекте, и пользователь может изменить те из них, которые считает нужным. Шаги, в которых не надо ничего менять, пользователь просто пролистывает. По окончании модификации новый вариант проекта сохраняется под старым именем.

    4.4 Пакетный режим

    Программа может работать и в пакетном режиме, где в качестве единственного параметра ей передаётся маршрут и имя файла проекта. Естественно, этот файл проекта должен быть создан заранее. Такой вызов программы может быть выполнен либо внутри BAT-файла, CMD-файла, либо в строке команды "Выполнить". Возможность работы в пакетном режиме позволяет встраивать программу в технологические цепочки автоматизированных расчётов. Строка вызова может выглядеть, например, так: D:\BASIC\VB\Convertor\Convertor.exe g:\list.ini Работа программы выполняется полностью автономно. Окно формы "Конвертирование" в этом режиме свернуто в значок на панели задач и, при необходимости, может быть использовано для контроля и прерывания процесса. Файл проекта в пакетном режиме должен содержать описания входного и выходного файлов документа. Впрочем, если выходной файл не описан, то процесс конвертирования всё же будет запущен, но в его конце Excel спросит нужно ли сохранять полученный файл или нет. Автор не вполне уверен, нужен ли такой вариант работы, но пока он имеет место быть. Если программа обнаруживает, что выходной файл существует до начала конвертирования, то в в диалоговом режиме она спросит о возможности его перезаписи. В пакетном же режиме одноимённый файл будет перезаписан без запроса.

    5.Дополнительные возможности версии 1.3

    В версии 1.3 добавлены ещё 2-а шага описания документа, что позволяет обрабатывать документы более сложной структуры. Изменился и ряд внутренних алгоритмов программы, что может вызвать у пользователей проблемы с пониманием процесса Визуального описания. Поэтому Автор решил уточнить ряд положений этого процесса. - в версии 1.3 добавлена возможность описания так называемых Фиксированных Строк или их частей. Такими элементами внутри информационной части документа могут быть, например, названия разделов/подразделов отчётов, фразы типа "Итого по цеху №№", "Всего" и т.д., то есть те внутренние элементы отчётов, которые не нужно делить на графы, а нужно связно перенести в Excel-документ. В выходном документе такие строки или части строк будут отображены тем же шрифтом, что и шапка отчёта, что выделит эти элементы из информационной части. В процессе создания проекта в шаге 14 пользователь может отметить либо только строку и тогда она вся будет переноситься в выходной отчёт, либо он может отметить колонку начала и колонку конца выделения, чем определит связный фрагмент строки для переноса. Колонка конца может и не задаваться, что приведёт к выделению только одной колонки, - в этом может быть смысл, если нужно выделить шрифтом фразу в одной колонке. Использование фрагментов строк позволяет сочетать в одной строке символьные фразы - названия и цифровые данные в других колонках. Понятно, что пользователь при описании документа каждую оригинальную строку или фразу определяет только один раз, а программа использует это описание для поиска и выделения всех подобных вхождений. - второй крупной доработкой в версии 1.3 явилась возможность описания так называемого Постскриптума,- это заключительная часть страницы или документа, которая также должна в связном виде попасть в выходной отчёт. Постскриптум задаётся указанием его 1-ой строки или её части. Часть строки указывается только в том случае, если в этой строке есть переменные составляющие, изменяющиеся от страницы к странице. Если Постскриптум завершает каждую страницу, то с обнаружением его 1-ой строки все заключительные строки выводятся как связный текст до начала следующей страницы. В случае одного Постскриптума на документ вывод его строк идёт до конца документа. - в новой версии программы изменён алгоритм просмотра входного документа в процессе его Визуального описания. Предыдущая версия позволяла просматривать только 1-е 100 строк входного документа. Теперь это ограничение снято и пользователь может просматривать весь документ. А просмотр в шаге 15 для указания Постскриптума выполняется с конца документа. Изменено управление просмотром документа. - весьма существенно изменён алгоритм отображения выбранных горизонтальных элементов документа, таких как Горизонтальные разделители, Фиксированные строки и Постскриптум. Теперь однократный выбор строки любого такого элемента приводит к отображению меток выбора у всех аналогичных по содержанию строк. Таким образом пользователю значительно проще выбирать другие строки и контролировать правильность и полноту описания документа. - в данной версии расширены также возможности описания документов в шаге 8 - "Сложная шапка". Теперь элемент Сложной шапки может занимать не только несколько смежных граф, но одновременно и несколько строк, что и бывает в реальных документах. Для реализации этих функций добавлены 2 новых элемента управления, - "Счётчик строк" и "Есть линия снизу". Первый из них определяет число строк, которые занимает элемент Сложной шапки, включая и возможную Линию Подчёркивания. Второй указывает на наличие такой линии в элементе. Это необходимо, чтобы удалить в Excel-документе эту линию и заменить её обычным подчёркиванием. При описании элемента Сложной шапки пользователь указывает положение верхней строки элемента и число строк в нём. В целом, надо понимать, что в случае сложного документа, вряд ли можно выполнить весь процесс Визуального описания за один раз, так, чтобы результат Конвертирования устроил пользователя во всех деталях. После первого описания и сохранения Проекта, пользователь анализирует полученный Excel-документ и открыв уже Существующий проект в режиме Модификации уточняет те элементы описания, которые его не устаивают. Вновь полученный выходной документ, снова анализируется и весь процесс может быть повторён до достижения нужного результата. Конечно, вся эта технология возможна только с полной версией программы.

    6.Справочная система

    Программа не имеет пока полноценной справочной системы. Её роль выполняет документ, который Вы сейчас читаете и контекстная справка, работающая в форме "Описание входного документа" - наиболее сложной форме программы. Контекстная справка для каждого шага описания документа, отображает соответствующий текстовый блок. Справка вызывается нажатием кнопки "Справка" в верхнем левом поле окна. Удаление справки с экрана выполняется нажатием кнопки мыши в поле справки, либо с клавиатуры клавишей ESC. Текст контекстной справки находится в файле Help.txt, который должен располагаться в том же каталоге, что и сама программа Convertor.exe.

    7.Условия поставки

    Демо-версия программы поставляется бесплатно и не имеет временных рамок для своей работы. Полная версия программы платная. Её стоимость указана на странице сайта и может изменяться. Форма оплаты - почтовый перевод. Желающие купить программу, связываются с Автором по адресу sbd13@mail.ru, получают реквизиты для перевода и после завершения оплаты Автор высылает в их адрес полную версию программы в форме WinRar - архива Mini. Для перехода с Демо-версии на полную версию достаточно из распакованного архива переписать новый исполняемый модуль Convertor.exe на место старого. Автор здесь исходит из того, что перед покупкой программы пользователь скачал её Демо-версию и проверил её работоспособность в своих условиях и на своих данных. Для установки программы на другой компьютер пользователь может выполнить установку любой ранее записанной Демо-версии и затем обновить её новым исполняемым модулем. Пользователи, купившие программу, регистрируются Автором, и в дальнейшем получают все обновления программы бесплатно на свои почтовые адреса E-mail. Кроме того Автор обеспечивает их внеочередными консультациями по проблемам, возникшим у них при работе с данной программой.

    8.Заключение

    К сожалению, программа отлаживалась и тестировалась на крайне скудном материале и потому Автор не мог учесть и тысячной доли всех ситуаций, могущих быть в реальной жизни. В тоже время Автор почему-то самоуверенно считает, что в рамках данной функциональности, программа написана достаточно надёжно. Ну что ж, жизнь покажет, стоит ли чего-нибудь Авторская самонадеянность. и последнее... Автор с благодарностью воспримет все Ваши замечания и предложения по доработке и расширению функциональности программы. Хотя безусловный приоритет всё-таки будут иметь зарегистрированные пользователи, - им ответ и максимально быструю реакцию Автор гарантирует.