Microsoft Excel — хорошо известная и широко применяемая инструментальная платформа. Наиболее часто Excel используют в качестве табличного процессора, однако помимо вычислений и простых операций с данными в нем существует еще целый ряд возможностей, необходимых для построения информационных систем (ИС) (рис. 1).
Рис. 1. Основные возможности Microsoft Excel |
Используемый в Excel инструментарий включает многие распространенные средства автоматизации, применимые и для ИС, особенно при разработке пользовательского интерфейса и последующей с ним работы. Обладая основными функциями баз данных (БД), Excel позволяет создавать простые приложения, где требуются сортировка и поиск данных в таблице. Средства доступа к внешним БД посредством SQL-запросов дают возможность обрабатывать в Excel информацию из других приложений, в том числе построенных на базе промышленных СУБД. Механизм создания макросов и встроенный язык программирования высокого уровня VBA (Visual Basic for Applications) позволяют автоматизировать повторяющиеся действия и разрабатывать собственные приложения, автоматически наделенные всеми достоинствами Excel-программ. Благодаря развитой системе экспорта-импорта данных и связывания с другими приложениями наряду с возможностями VBA при создании ИС в полной мере используется инструментарий автоматизации и технологии ActiveX, OLE и COM.
Рабочие листы Excel позволяют отображать свыше 30 типов простых данных в отдельных ячейках, локальных и взаимосвязанных таблицах, встраивать функции преобразования в виде формул и более 300 готовых функций; при подключении VBA становятся доступными около 500 типов данных, объектов, ссылок и др. Такие дополнительно используемые типы вместе с механизмом макросов открывают доступ к богатым динамически подключаемым библиотекам (библиотечным DLL-модулям).
Что касается межмодульного и межпрограммного обмена, крайне важных для ИС, то тут Excel поддерживает три разных режима работы:
- Копирование и перенос данных через буфер Windows из одной программы в другую.
- Технология OLE (Object Linking and Embedding, механизм связывания и внедрения объектов). Позволяет создавать объекты с помощью одного приложения и затем внедрять их в данные другого приложения или ссылаться на него из другого приложения.
- Технология DDE (Dynamic Data Exchange). Этот механизм динамического обмена данными дает возможность отслеживать изменения объекта в программе-источнике и немедленно отображать все изменения в программе-приемнике.
Благодаря указанным режимам непосредственно на листы Excel можно внедрять рисунки и объекты из нескольких десятков разных приложений. Для связываемых объектов автоматически подключается инструментарий программы-источника. Обмен между работающими приложениями дополняется механизмом экспорта-импорта данных через файлы. Excel способен сохранять информацию в файлах более 30 типов, при этом данные преобразуются в десятки различных форматов.
Excel предоставляет средства разработки объектно-ориентированных приложений. Так, для включения в пользовательскую программу элемента управления оказывается достаточным (рис. 2) выбрать заготовку объекта, задать ему определенные свойства и описать реакцию объекта на возможные события. Фрагменты диалога с пользователем можно располагать прямо на рабочих листах Excel либо в специальных пользовательских формах VBA.
Удобство интерфейса и диалоговые возможности программной среды заметно сокращают трудозатраты и повышают качество работы профессиональных разработчиков. В то же время для пользователей-непрограммистов средства автоматизации снижают остроту проблемы взаимодействия с инструментальной средой в ходе создания нового программного продукта. Здесь Excel использует VBA — мощный современный язык визуального программирования, овладение которым поддерживается в Excel встроенным механизмом записи макросов и развитой системой помощи и контекстных подсказок. Богатый инструментарий, табличная форма данных, широкие возможности визуализации информации — все это делает Excel незаменимым помощником при создании ИС.
Авторами разработан ряд информационных систем на базе Excel и VBA. Среди них «Управление прохождением практики студентов», «Составление расписания экзаменов в вузе», «Подсистема анализа и графического отображения данных для менеджеров», несколько мультимедийных презентаций. В программах использованы кнопочные технологии, автоматическая активизация элементов интерфейса, подсказки, выводимые на экран непосредственно в процессе работы, дополнение функциональных возможностей других программ посредством экспорта данных в Excel, управление программой с помощью макросов по табличному сценарию с настроечными параметрами.
Подключение сетевых технологий, доступных в Excel через Windows, позволяет применительно к работе в распределенной среде расширить метод запуска подпрограмм, ассоциированных с каждым кадром сценария.
Идея и начальная реализация подхода к соединению табличной формы организации сценария c удаленным управлением программой были переданы школьникам из объединения «Информатика» Зеленоградского Дворца творчества детей и молодежи. На этой основе они создали панорамную мультимедийную программу, посвященную 61-й годовщине битвы за Москву и 45-летию Зеленограда. Программа заняла 1-е место на Фестивале информационных технологий среди детских коллективов Москвы, а также 2-е место в Международной интернет-конференции «Юниор — старт в науку».
В упомянутой программе компьютер-диспетчер в соответствии с общим сценарием демонстрации управляет пятью компьютерами через локальную сеть. Получив соответствующий сигнал от диспетчера, компьютеры начинают исполнение указанного кадра по локальному сценарию.
На основе управления по табличному сценарию были разработаны также презентации для кафедры информатики и программного обеспечения вычислительных систем Московского института электронной техники и для фирмы «Общероссийский технический информационный канал» (ОТИК), а также презентация ОТИК для Министерства образования РФ и Министерства обороны РФ. В презентациях использованы следующие возможности Microsoft Excel:
- подключение звука в форматах WAV и MP3 через использование стандартных DLL-файлов Windows с помощью программного интерфейса WinAPI;
- внедрение файлов графических объектов, в том числе отсканированных фотографий;
- синхронизация звука и изображения;
- движение объектов на экране по функционально описанной траектории;
- использование макросов;
- введение регулируемых задержек, в том числе при повторном обращении к некоторому объекту в процессе демонстрации кадра;
- интерактивное управление программой по кнопке "Стоп" - диалог, организованный во всех вложенных макросах и позволяющий в любой момент остановить либо возобновить презентацию.
Как показывают эти примеры, в дополнение к широко известным функциям табличного процессора Microsoft Excel обладает еще целым спектром возможностей как для создания информационных систем, аналитических модулей и баз данных, так и для разработки демонстрационных программ и различных презентаций.
Сокращенный вариант (полный текст статьи см. на диске).