
- •1. Пакеты прикладных программ: понятие и классификация
- •1.1. Понятие пакета прикладных программ
- •1.2 Характеристика пакетов прикладных программ
- •Проблемно-ориентированные ппп
- •Ппп автоматизированного проектирования
- •Ппп общего назначения
- •Методо-ориентированные ппп
- •Офисные ппп
- •Настольные издательские системы
- •Программные средства мультимедиа
- •Системы искусственного интеллекта
- •1.3. Выводы по теме
- •2. Введение в Microsoft Office
- •2.1. Назначение и структура Microsoft Office
- •2.2. Документы Microsoft Office
- •2.3. Интерфейс Microsoft Office
- •Панели инструментов
- •Справочный интерфейс
- •2.4. Выводы по теме
- •3. Офисное программирование
- •3.1. Понятие офисного программирования
- •3.2. Особенности офисного программирования
- •3.3. Преимущества использования офисного программирования
- •3.4. Макросы
- •3.5. Выводы по теме
- •3.6. Создание макросов с помощью макрорекордера
- •Запись макроса
- •Выполнение макроса (стандартный способ)
- •Структура записанного макроса
- •Пример программного кода макроса
- •3.7. Выводы по теме
3. Офисное программирование
3.1. Понятие офисного программирования
Под офисным программированием понимается, в первую очередь, программирование на языке Microsoft VBA (Microsoft Visual Basic for Applications) в среде Microsoft Office. Конечно, можно говорить и о более широком толковании этого термина. В данном случае офисное программирование – это достаточно новое и перспективное направление в современном программировании. Его особенность заключается в том, что программист создает документы и работает с ними в некоторой достаточно мощной среде, классическим примером которой является среда Office. Язык программирования, на котором работает программист, встроен в среду. И, опять-таки, примером может служить встраивание языка Visual Basic в среду Office, после чего он и становится языком VBA.
Пользователи, работающие в среде Office, могут создавать документы и работать с ними без всякого программирования благодаря тем стандартным возможностям, которые обеспечивает эта среда. Но рано или поздно наступает момент, когда стандартных возможностей среды не хватает для удовлетворения растущих потребностей пользователя и решения специфических задач, возникающих в той проблемной области, в которой он работает. С этого момента и начинается офисное программирование. Заметим, что для этого среда должна обладать двумя замечательными качествами:
Быть построена на принципах объектного программирования и, по существу, представлять совокупность объектов, определяющих тот мир, в котором работает пользователь.
Иметь встроенный язык программирования, позволяющий работать с объектами среды, а значит, с ее документами без каких-либо чрезвычайных усилий; принципиально важно, чтобы встроенный язык был обычным языком программирования, применяемым программистами и вне среды.
3.2. Особенности офисного программирования
В чем же специфика офисного программирования, чем оно отличается от программирования в программной среде таких языков, как Visual Basic (VB), Visual C++ (VC++) или Delphi, ориентированных на создание программных проектов различного типа? Можно выделить основные особенности офисного программирования:
Среда разработки
Среда приложений Office ориентирована в первую очередь на пользователей, а не на программистов и в ней можно создавать документы без всякого программирования. Поэтому программист обычно начинает работать с документами не на пустом месте, а с их заготовками, созданными пользователями, т.е. и сам программист может выступать в роли пользователя и сочетать в своей работе традиционное программирование с работой вручную. При программировании документов Office сама среда представлена в виде объектов, свойства, методы и события которых доступны в языке программирования VBA.
Совместная работа
Над документами Office могут совместно работать программисты и пользователи.
Цели разработки
В Office программный проект неразрывно связан с документом, хранится как часть документа и не может существовать независимо от него. Документ, а не программа, становится целью разработки.
Настройка документов
Стандартные возможности среды по созданию и работе с документами велики. Однако возможность настроить стандартный документ Office, сделать его "по заказу", снабдить новыми функциями, учитывающими специфику решаемой задачи, подогнать "под себя" – это одна из важнейших особенностей офисного программирования.
Каркас документа
Для программиста сама среда Office – это не что иное, как обычная совокупность библиотек классов. Такие библиотеки классов составляют каркас приложений (Framework Applications) или, иначе говоря, каркас документов (Framework Documents). Типичный пример – библиотека MFC (Microsoft Foundation Class Library) в языке VC++. Работа программиста в такой среде начинается с создания каркаса своего приложения (Framework Application) на основе классов, выбираемых из соответствующей библиотеки каркаса приложений. Библиотеки классов Office содержат каркасы документов Office – текстовых документов, документов, основу которых составляют электронные таблицы, презентации, базы данных. И хотя библиотека Office 2000 и библиотека MFC не сравнимы между собой по ряду параметров, поскольку у них все-таки разные цели, но в определенной степени библиотека Office 2000 гораздо богаче библиотеки MFC. Она позволяет создавать документы самых разных типов, обладающие с момента создания весьма широкими возможностями. Всякий раз, когда создается новый документ, его каркас по умолчанию составляют объекты библиотек, отобранных по умолчанию для построения этого конкретного каркаса документа. Но одно из достоинств Офисного программирования состоит в том, что этот каркас по умолчанию можно существенно изменить, добавив в документ новые свойства. Для этого достаточно включить в состав каркаса соответствующие библиотеки из числа тех, что составляют каркас документов Office. Заметим, что в Office 2000 число таких дополнительно поставляемых библиотек, а, следовательно, и набор возможностей существенно вырос по сравнению с предыдущей версией. Расширение каркаса документа не требует от программиста никаких значительных усилий – достаточно в редакторе Visual Basic выбрать пункт меню References и в появившемся списке всех возможных библиотек включить те, которые отвечают его индивидуальным потребностям.
Язык программирования и мир объектов
Программист, занимающийся настройкой документов Office, как и любой другой, должен владеть языком программирования, и таковым для него является язык Visual Basic (VB). Программисту, занимающемуся офисным программированием, предъявляются дополнительные требования: он должен знать мир объектов Office (их число выходит за пределы, доступные запоминанию), или, по крайней мере, хорошо ориентироваться в нем. В этом ему поможет разумно организованная система помощи в среде, куда входят и браузер объектов, и справочная система, и система интеллектуальной поддержки Intelligence. Так что к программисту, занимающемуся офисным программированием, предъявляются дополнительные требования – помимо языка программирования, он должен изучить мир объектов среды. Более того, крайне полезно уметь работать с этими объектами вручную так, как это делают обычные пользователи Office.
Макрорекордер (MacroRecorder)
Интересной особенностью офисного программирования является возможность создания программного проекта или, по крайней мере, его отдельных компонентов автоматически без программирования. Для этого используется такой характерный для офисного программирования инструмент, как макрорекордер (MacroRecorder).
Макрорекордер (MacroRecorder) – это транслятор действий, записывающий действия пользователя при работе вручную и транслирующий их в программу на языке VBA.
Пользователь, работающий вручную в среде Office, видит зримые образы объектов среды – абзацы в документах Word, ячейки в документах Excel, таблицы в документах Access, слайды в документах PowerPoint, папки в документах Outlook, формы с их элементами управления во всех этих документах и многие другие объекты. Обратите внимание: реальный мир Office – это мир его объектов. Пользователь не знает реального мира Office, он работает в мире образов, но система, как внимательный наблюдатель, следит за всеми действиями пользователя и в ответ на них изменяет свойства объектов, вызывает обработчики событий, реагируя на возникающие события, вызывает методы объектов Office. Поскольку действия пользователя транслируются в действия над объектами Office, то нетрудно, включив MacroRecorder, записать нужные действия и создать макрос – программу на языке VBA, описывающую действия пользователя в терминах работы с объектами.
Спектр применения
Спектр применения офисного программирования широк – от настройки отдельных документов до создания серьезных решений масштаба предприятия. Благодаря интеграции с семейством серверных продуктов Microsoft, интеграции с продуктами "третьих" фирм, целью разработки становится создание корпоративных приложений, нацеленных на совместную работу в Интернете.