Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Программирование в пакетах MS Office

Покупка
Основная коллекция
Артикул: 613671.01.99
В доступной форме рассматриваются язык объектно-ориентированного визуального программирования Visual Basic Application и его использование для разработки офисных приложений в пакетах MS Office: Word, Excel, Access, PowerPoint, Outlook. Благодаря этим пакетам прикладных программ можно создавать интегрированные документы, опирающиеся на данные различных приложений, практически не замечая перехода от одного приложения к другому. Для студентов экономических вузов, обучающихся по специальности «Прикладная информатика в экономике», и широкого круга пользователей, работающих в среде Windows MS Office.
Назаров, С. В. Программирование в пакетах MS Office : учеб. пособие / С. В. Назаров, П. П. Мельников, Л. П. Смольников и др.; под ред. С. В. Назарова. - Москва : Финансы и статистика, 2007. - 656 c.: ил. - ISBN 978-5-279-02926-6. - Текст : электронный. - URL: https://znanium.com/catalog/product/369386 (дата обращения: 25.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
ПРОГРАММИРОВАНИЕ 
В ПАКЕТАХ 
MS Office 

Под редакцией профессора С.В. Назарова 

Рекомендовано 

Учебно-метсщическим объединением 
по направлению бизнес-информатика 
в качестве учебного пособия 
для студентов высших учебных заведений, 
обучающихся по направлениям подготовки 
"Прикладная информатика в экономике 
(менеджменте)" и "Бизнес-информатика" 

МОСКВА 
"ФИНАНСЫ И СТАТИСТИКА" 
2007 

УДК [004.438:0®01/92]<075.8) 
ББК 32.973,26-018.2Я73 
П78 

АВТОРЫ: 

С.В. Назаров, П.П. Мельников, 
Л.П. Смольников, Д.В. Куприянов, 
В .А. Титов 

. РЕЦЕНЗЕНТЫ: 

Кафедра открытых информационных систем 

Московского государственного университета экономики, 
статистики и информатики (МЭСИ); 

В.А. Биллиг, 
кандидат технических наук, профессор 
Тверского государственного университета 

Программирование в пакетах MS Office: учеб. пособие 
П78 
/ С.В. Назаров, П.П. Мельников, Л.П. Смольников и др.; 
под ред. С.В. Назарова. — М.: Финансы и статистика, 2007. — 
656 е.: ил. 

В доступной форме рассматриваются язык объектно-ориентированного 
визуального программирования Visual Basic Application и его использование 
для разработки офисных приложений в пакетах MS Office: Word, Excel, Access, 
PowerPoint, Outlook. Благодаря этим пакетам прикладных программ можно 
создавать интегрированные документы, опирающиеся на данные различных 
приложений, практически не замечая перехода от одного приложения к другому. 

Для студентов экономических вузов, обучающихся по специальности 
«Прикладная информатика в экономике», и широкого круга пользователей, 
работающих в среде Windows MS Office. 

ISBN 978-5-279-02926-6 

п 1602090000 - 199 
010(01) - 2007 
255 - 2006 
УДК [004.438:004.91/92](075.8) 
ББК 32.973.26-018.2я73 

ISBN 978-5-279-02926-6 
© Коллектив авторов, 2007 

ОГЛАВЛЕНИЕ 

Предисловие 
" 

Глава 1. ОСОБЕННОСТИ ЯЗЫКА И СРЕДСТВ VBA 
15 

1.1. VBA - язык офисного программирования 
15 

1.2. Элементы VBA как языка объектноориентированного программирования 
18 

1.2.1. Объекты VBA и MS Office 
18 

1.2.2. Свойства, события, методы 
21 

1.2.3. Отношения между объектами. Классы. 
Инкапсуляция. Наследование 
26 

1.2.4. Классы и объекты MS Office. Коллекции 
28 

1.3. Интегрированная среда VBA 
49 

1.3.1. Компоненты среды 
49 

1.3.2. Меню..... 
53 

1.3.3. Панели инструментов 
59 

1.3.4. Окна 
60 

1.3.5. Помощник (Assistant) 
67 

1.3.6. Макрорекордер и макросы 
70 

Глава 2. ОСНОВЫ РАЗРАБОТКИ И ОТЛАДКИ 

ПРОГРАММ НА VBA 
78 

2.1. Компоненты проекта и языка VBA 
78 

2.2. Данные и их описание 
82 

2.2.1. Алфавит и лексемы языка 
82 

2.2.2. Типы данных и описание переменных 
84 

2.2.3. Константы 
91 

2.2.4. Перечисление 
93 

2.2.5. Объявление массивов 
94 

2.2.6. Типы данных, определяемые пользователем ... 96 

2.3. Операторы, выражения и операции 
97 

2.3.1. Оператор присваивания ... 
98 

2.3.2. Математические операции 
99 

2.3.3. Операции отношения 
100 

2.3.4. Логические операции 
101 

2.3.5. Операции для работы со строками 
102 

2.4. Операторы управления Visual Basic 
103 

2.4.1. Операторы передачи управления 
ЮЗ 

2.4.2. Операторы выбора 
104 

2.4.3. Операторы циклов 
109 

3 

2.5. Процедуры VBA для приложений 
113 

2.6. Встроенные функции 
118 

2.7. Отладка программ и обработка ошибочных 
ситуаций 
125 

2.7.1. Общие сведения 
125 

2.7.2. Обнаружение необъявленных 
переменных 
127 

2.7.3. Отладка 
128 

2.7.4. Точки останова (контрольные точки) 
130 

2.7.5. Наблюдение за данными с помощью 
просматриваемых значений 
131 

2.7.6. Пошаговое выполнение программы 
133 

2.7.7. Использование обработчиков ошибок 
135 

Глава 3. СОЗДАНИЕ ПРИЛОЖЕНИЙ MS WORD 
139 

3.1. Структура проекта приложения MS Word. 

Объект Application MS Word 
139 

3.2. Операции с документами 
142 

3.2.1. Свойства и методы коллекции Documents 

и объекта Document 
142 

3.2.2. Обработка событий объекта Document 
151 

3.3. Операции с абзацами 
152 

3.3.1. Действия, выполняемые с абзацами 
152 

3.3.2. Методы коллекции Paragraphs 
153 

3.3.3. Свойства объектов Paragraph 

и ParagraphFormat 
153 

3.4. Операции с текстом 
.....155 

3.4.1. Объекты для операций с текстом 
155 

3.4.2. Свойства и методы объекта Range 
156 

3.4.3. Методы объекта Selection 
159 

3.5. Операции с таблицами 
159 

3.6. Примеры программ и приложений 
162 

3.6.1. Макрос для замены символов 
162 

3.6.2. Приложение для подготовки документа 

на бланке...., 
168 

Глава 4. СОЗДАНИЕ ПРИЛОЖЕНИЙ MS EXCEL 
180 

4.1. Структура проекта приложения MS Excel 
180 

4.2. Структура объекта Application MS Excel 
181 

4.3. Свойства, методы и события объектов приложения 

MS Excel 
: 
183 

4.3.1. Свойства, методы и события объекта 

Application 
183 

4 

4.3.2. Основные свойства, методы и события 
семейства WorkBooks 
186 

4.3.3. Применение свойств, методов и событий 
Application и Workbooks 
188 

4.3.4. Основные свойства и методы семейства 
Sheets, Worksheets и объектов Worksheet 
189 

4.3.5. Свойства и методы объектов Range 

и Selection 
191 

4.4. Разработка приложений 
197 

4.4.1. Форматирование ячеек рабочего листа 
197 

4.4.2. Создание макроса для транспонирования 
матрицы 
199 

4.4.3. Разработка программы для создания базы 
данных Страхование 
201 

4.4.4. Разработка приложения для создания базы 
данных по регистрации вкладов 
206 

4.4.5. Разработка программы для выполнения 
операций по вкладам 
212 

4.4.6. Бухгалтерские проводки 
219 

4.5. Применение функций 
228 

4.5.1.Вызов функции рабочего листа 

в программе 
228 

4.5.2. Вставка функции в ячейки рабочего листа 

из программы 
228 

4.5.3. Создание пользовательских функций 
рабочего листа 
229 

4.5.4. Функция пользователя для вычисления 
накопленной суммы вклада 
232 

4.5.5. Функция пользователя для вычисления 
накопленного долга по кредиту 
233 

4.5.6. Функция для вычисления разности между 
текущим объемом вклада и размером 
ссуды 
234 

4.5.7. Разработка приложения для расчета 
величины амортизации основных 
фондов 
236 

4.5.8. Разработка приложения для расчета 

по ипотечному кредиту 
243 

4.6. Работа с диаграммами 
247 

4.6.1. Объекты Chart и ChartObject 
247 

4.6.2. Пример создания программы VBA 

для построения диаграммы 
251 

4.7. Создание шаблона приложения 
257 

5 

Глава 5. АВТОМАТИЗАЦИЯ БАЗ ДАННЫХ ACCESS 

С ИСПОЛЬЗОВАНИЕМ VBA 
261 

5.1. Интерактивные средства разработки 
приложений баз данных 
261 

5.2. Пример интерактивной разработки 

приложения базы данных 
273 

5.2.1. Структура данных 
273 

5.2.2. Доступ к данным 
278 

5.2.3. Доступ к данным с помощью связанных 
форм 
282 

5.2.4. Статистическая обработка данных 
288 

5.2.5. Формирование отчетов 
290 

5.2.6. Настройка рабочей среды 
298 

5.3. Основные понятия программного управления 
приложением БД 
302 

5.3.1. Объектная модель Access Application 
302 

5.3.2. Элементы управления 
316 

5.3.3. События в Access 
323 

5.3.4. Источники данных форм, отчетов 

и элементов управления 
327 

Глава 6. ПРОГРАММНЫЙ ДОСТУП К ДАННЫМ 
341 

6.1. Программирование доступа к данным 

с использованием DAO 
341 

6.1.1. Иерархия объектов интерфейса DAO 
341 

6.1.2. Навигация в наборе записей и изменение 
записи 
354 

6.1.3. Поиск записей 
357 

6.1.4. Использование закладок и клонов 
367 

6.1.5. Добавление и удаление записей 
372 

6.1.6. Создание таблиц 
373 

6.1.7. Обработка транзакций 
385 

6.2. Обработка данных средствами языка SQL 
389 

6.2.1. Основные средства языка SQL 
389 

6.2.2. Определение данных 
393 

6.2.3. Выборка данных 
397 

6.2.4. Изменение данных 
403 

6.3. Технология доступа к данным ADO 
408 

6.3.1. Объектная модель ADO 
408 

6.3.2. Доступ к данным 
414 

6.4. Введение в разработку многопользовательских 
приложений Access 
420 

6.4.1. Многопользовательские приложения баз 
данных на основе Access 
420 

6.4.2. Проекты Access 
435 

6 

Глава 7. СОЗДАНИЕ ПРИЛОЖЕНИЙ 

ДЛЯ MS OUTLOOK 
442 

7.1. Общая характеристика возможностей Outlook 
442 

7.2. Формы Outlook 
450 

7.2.1. Стандартные формы Outlook 
450 

7.2.2. Редактирование стандартной формы 
Outlook 
451 

7.2.3. Создание стандартной пользовательской 
формы 
456 

7.2.4. Создание пользовательских форм 
UserForm 
460 

7.2.5. Соглашение о назначении имен 
461 

7.3. VBScript-программирование форм в Outlook 
463 

7.3.1. Переменные в VBScript 
464 

7.3.2. Редактор VBScript 
465 

7.3.3. Разработка кода VBScript 
466 

7.3.4. Создание процедуры обработки события.... 468 
7.3.5. Использование Обозревателя объектов 
(Object Browser) 
469 

7.4. Объектная модель Outlook 
470 

7.4.1. Общие сведения о макросах VBA 

и проекте в Outlook 
470 

7.4.2. Объект Application 
475 

7.4.3. Объект NameSpace 
483 

7.4.4. Коллекция Folders и объект MAPIFolder .... 489 
7.4.5. Коллекция Explorers и объект Explorer 
498 

7.5. Элементы Outlook 
506 

7.5.1. Коллекция Items 
506 

7.5.2. Общие свойства, методы и события 
элементов Outlook 
511 

7.5.3. Элемент Сообщение 
516 

7.5.4. Элемент Контакт 
523 

7.5.5. Объект DistListltem 
529 

7.5.6. Элементы Встречи и Собрания 
532 

7.5.7. Элемент Задача 
539 

7.5.8. Элемент Journalltem 
549 

7.5.9. Элемент Noteltem 
553 

7.5.10. Элемент Document 
555 

7.6. Коллекции Outlook 
557 

7.6.1. Коллекция Links 
557 

7.6.2. Коллекция и объект Attachments 
559 

7.6.3. Коллекции AddressLists и AddressEntries 

и их объекты 
562 

7.6.4. Коллекция Recipients и объект Recipient 
569 

7 

7.7. Панели инструментов 
574 

7.7.1. Коллекции Panes и объект Рапе 
574 

7.7.2. Объект OutlookBarStorage 
578 

7.7.3. Коллекция OutlookBarGoups и объект 
OutlookBarGroup 
579 

7.7.4. Коллекция OutlookBarShortcuts и объект 
OutlookBarShortcut 
580 

7.8. Программирование форм 
583 

7.8.1. Коллекция Pages 
583 

7.8.2. Объект FormDescription 
584 

7.8.3. Коллекция Actions и объект Action 
589 

7.8.4. Коллекция UserProperties 
594 

7.9. Автоматизация подготовки отчета о работе 
598 

Глава 8. СОЗДАНИЕ ПРИЛОЖЕНИЙ 

ДЛЯ MS POWERPOINT 
606 

8.1. Общие сведения о системе PowerPoint 
606 

8.2. Управление приложением PowerPoint 
607 

8.3. Работа с презентациями 
608 

8.4. Коллекция Presentations 
610 

8.5. Объект Presentation (презентация) 
612 

8.6. Работа со слайдами 
616 

8.7. Работа с цветовыми схемами 
624 

8.8. Объект ColorScheme 
625 

8.9. Управление показом слайдов 
627 

8.10. Объект SlideShowWindow 
628 

8.11. Работа с рисованными объектами 
630 

8.12. Работа с несколькими рисованными 

объектами 
632 

8.13. Коллекция Shapes 
633 

8.14. Объект Shape 
637 

8.15. Работа с таблицами 
639 

Литература 
645 

Глоссарий 
646 

Предметный указатель 
652 

ПРЕДИСЛОВИЕ 

Под офисным пакетом ведущие поставщики программного 
обеспечения понимают объединение основных офисных приложений, таких, как обработка текста, электронные таблицы, базы 
данных, подготовка презентаций. К ним добавляются некоторые 
дополнительные приложения: электронная почта, система управления персональной информацией и планирования персональной деятельности, графика и др. Корпорация Microsoft (MS) изначально разрабатывала приложения пакета Microsoft Office в 
расчете на интенсивное взаимодействие создаваемых с его помощью приложений. Благодаря этому можно создавать интегрированные документы, опирающиеся на данные различных приложений, практически не замечая перехода от одного приложения 
к другому. 

Microsoft Office — одна из самых популярных программных 
систем, используемых во всем мире. Трудно найти компьютер, на 
котором не был бы установлен текстовый редактор Word. Представляя собой систему приложений, тесно связанных друг с другом, MS Office открывает перед своими пользователями самый широкий спектр возможностей. Хотя главное назначение этой системы — быть профессиональным инструментом ведения бизнеса, 
она успешно используется при проведении и анализе инженерных 
расчетов, в обучении и быту. Недаром система MS Office стала 
основным программным средством, используемым при обучении 
информатике как в школах, так и в вузах, для специальностей, где 
информатика является важным, но не основным предметом. 

Корпорация Microsoft постаралась обеспечить единый интерфейс во всех приложениях, что существенно облегчает обучение и работу с ними. Графический интерфейс, которым 
Microsoft удалось так удачно оснастить свою офисную среду, 
упрощает применение эффективных средств MS Office. Приложения MS Office включают все необходимые средства, помогающие пользователю сконцентрироваться на выполняемой работе, не задумываясь над тем, как приложение будет выполнять 
необходимую операцию. 

9 

Корпоративная Америка, да теперь и Россия, являются свидетелями возрастающего значения интеграции продуктов в 
Windows прежде всего в тех случаях, когда особенно важны высокая производительность и техническая поддержка. Приложения MS Office обеспечивают разнообразный набор сред для решения коммерческих (бухгалтерских, финансовых, управленческих) 
задач. Все эти среды связаны между собой с помощью механизма OLE (Object Linking and Embedding — связывание и внедрение объектов), основанного на СОМ-технологии (Component 
Object Model — модель многокомпонентных объектов), определяющей стандарт взаимодействия между объектами-приложениями и объектами-компонентами (например, MS Word или приложения на Visual Basic). Механизм OLE-автоматики и модель 
многокомпонентных объектов СОМ позволяют быстро строить 
приложения из различных компонентов других приложений и 
интерфейсов. 

Приложения MS Office обеспечивают разнообразный набор 
сред для решения коммерческих (бухгалтерских, финансовых, 
управленческих и др.) задач. Все эти среды связаны между собой с помощью механизма OLE (Object Linking and Embedding — 
связывание и внедрение объектов), основанного на СОМ-технологии (Component Object Model — модель многокомпонентных объектов), определяющей стандарт взаимодействия между 
объектами-приложениями и объектами-компонентами (например, MS Word или приложения на Visual Basic). Механизм OLEавтоматики и модель многокомпонентных объектов СОМ позволяют быстро строить приложения из различных компонентов 
других приложений и интерфейсов. 

Мощнейшим средством создания приложений в MS Office стал 
язык Visual Basic for Application (VBA - VB для приложений). Он 
пришел на смену языкам макропрограммирования, которые обычно 
включались в приложения. VBA — высокоэффективное средство 
разработки приложений, поскольку принадлежит к объекгно-ориентированным языкам программирования и обладает простотой 
макроязыков. Начинающие программировать в офисных пакетах 
пользователи могут записать свои действия с помощью макрорекордера (Macrorecorder) и создавать макросы без изучения особенностей (сложностей) языка. Такая запись действий, а затем просмотр записанного кода являются простейшим способом для 
самостоятельного изучения VBA. 

10 

Язык VBA применяется сравнительно недавно, сначала он 
полностью был разработан только для Excel в MS Office для 
Windows 95. Word имел собственный язык программирования 
Word Basic, немного отличный от VBA. Презентационный пакет 
PowerPoint, базы данных Access и пакет Outlook первоначально 
не содержали VBA. Однако, понимая всю полноту и эффективность возможностей использования VBA в офисных пакетах, 
фирма Microsoft объединила VBA со всеми своими основными 
офисными приложениями, включая Word, Excel, Access, 
PowerPoint и Outlook. Сейчас с помощью VBA можно легко и 
быстро создавать различные приложения, используя единую для 
всех офисных программ среду и язык. Разработчикам приложений очень пригодятся дополнительные возможности и средства VBA для управления пользовательским интерфейсом, оперирования событиями, обработки ошибок и другие средства, 
которые позволят создавать эффективные приложения с дружеским интерфейсом. 

Касаясь порядка освоения MS Office пользователями, можно 
провести образную аналогию, заимствованную из книги С. Новалиса «Access 2000. Руководство по VBA»: «Сначала ребенок учится 
ползать, затем ходить и, наконец, бегать». Так и в работе с офисными пакетами MS Office нужно сначала научиться «ползать», 
т.е. работать с офисными пакетами в интерактивном режиме. 
Затем можно учиться «ходить», т.е. писать программы для автоматизации работы с конкретным пакетом (Word, Excel и др.), и 
только после этого можно «бегать» — объединять все перечисленное в одном, пользовательском приложении. 

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

Настоящее учебное пособие рассчитано на читателей, научившихся «ползать», т. е. хорошо знакомых с работой отдельных офисных пакетов (в худшем случае - хотя бы с одним). Предполагается также, что читатель знаком с Visual Basic хотя бы на начальном 
уровне и имеет представление и начальные навыки конструирования пользовательского интерфейса, применяя объекты VB. Это 

11 

хотя и не обязательное требование к начальной подготовке читателя, но весьма желательное, поскольку при изложении материала пособия в основном рассматриваются специфические объекты 
конкретных офисных пакетов (Word, Excel, Access, PowerPoint и 
Outlook), а не общие для всех приложений объекты (кнопки, текстовые поля, надписи и т.п.), характерные для приложений VB. 

MS Office — это среда разработки, отвечающая современному принципу: «простые задачи должны решаться просто». Мощность среды определяется тем, какие задачи для нее являются 
простыми. В этом отношении MS Office уникальна — круг «простых» Для нее задач весьма широк, т.е. задачи, традиционно считающиеся сложными, с помощью программирования можно успешно решать в этой среде. 

Пособие содержит восемь глав. Глава 1 посвящена особенностям языка и средств VBA как языка офисного программирования. Рассматривается соотношение языка программирования 
Visual Basic и языка офисного программирования Visual Basic 
Application. Отмечаются возможности и преимущества этого языка для конечного пользователя, работающего с приложениями 
MS Office. Предполагая, что читатель знаком с языком объектно-ориентированного визуального программирования Visual 
Basic, кратко рассматриваются такие составляющие языка и 
офисных приложений, как объекты, их свойства и методы, события, отношения между объектами, классы объектов, коллекции и др. В этой же главе детально с приведением экранных 
форм представлены все компоненты интегрированной среды 
VBA, что должно способствовать по замыслу авторов быстрому 
ее освоению читателями, не знакомыми с Visual Basic. 

В главе 2 освещаются вопросы разработки и отладки программ 
на языке VBA. Эта глава в основном рассчитана на читателя, не 
работавшего ранее с языком программирования VB или вообще 
не знакомого с программированием. Подготовленный читатель 
может использовать эту главу как справочный материал. 

Вопросы разработки VBA-приложений для MS Word обсуждаются в главе 3. Приведены элементы структуры проекта приложения MS Word, объекты, их свойства, методы и события, 
примеры их использования и предлагаются упражнения. Примеры приложений, данные в главе, позволяют оценить возможности VBA для создания приложений MS Word, которые могут 
быть полезны пользователю MS Word. 

12 

В главе 4 описывается разработка VBA-приложений для MS 
Excel: элементы структуры проекта приложения MS Excel, объекты, их свойства, методы и события. Примеры и упражнения позволяют понять их назначение и технологию использования. Технология разработки приложений рассматривается на большом 
количестве примеров экономического содержания. Большое внимание уделяется применению библиотечных функций рабочего 
листа, созданию пользовательских функций рабочего листа, приводится пример создания программы VBA для построения диаграммы, а также технология создания шаблона приложения. 

Главы 5 и 6 посвящены средствам и технологиям разработки 
приложений баз данных Access и проиллюстрированы тематически связанными примерами. В начале главы 5 дано описание 
средств и процедур автоматизированного создания компонентов базы данных и элементов пользовательского интерфейса 
приложения, которые необходимы на начальном этапе разработки и применение которых не связано с программированием. 
Здесь же представлен общий (для главы) пример приложения 
базы данных, к которому адаптированы все приведенные далее 
программные фрагменты, иллюстрирующие те или иные аспекты технологии разработки приложений. 

С целью подготовки читателя к пониманию принципов программного доступа к данным в главе 5 приведен необходимый 
теоретический материал по базам данных Access. Представлены 
основные объекты и коллекции приложения Access (Access 
Application). В главе 6 рассматриваются программные интерфейсы 
базы данных (DAO и ADO), функции интерфейса и процессора 
базы данных, события, возникающие при манипулировании данными, взаимодействие между компонентами пользовательского 
интерфейса и источниками данных. На основе этого материала 
рассмотрено программирование конкретных операций в приложении с пояснениями по текстам VBA. Язык баз данных SQL, 
несмотря на свой «солидный» возраст, является весьма востребованным инструментом разработки приложений баз данных, 
поэтому в главе приведены основные сведения по нему и примеры его практического использования. Глава 6 завершается рассмотрением принципов, средств и примеров взаимодействия приложений баз данных Access с другими приложениями Microsoft 
Office. 

13 

Глава 7 посвящена программированию на VBA в среде Outlook. 
Основное внимание уделено рассмотрению объектной модели этого 
/ 
приложения. Имея много общего с разработкой других приложе- 
/ 
ний MS Office, работа в среде Outlook отличается рядом особен- • 
ностей. Во-первых, это особенности разработки пользовательских форм, которые могут быть созданы только на основе стандартных форм Outlook. Во-вторых, это использование языка программирования VBScript для написания процедур обработки событий, связанных с пользовательскими формами. В-третьих, то, 
что в среде Outlook предоставляется возможность создания единственного проекта, который имеет строго определенное имя и 
хранится в строго определенном месте. Завершается глава 7 несколькими практически полезными макросами, которые призваны продемонстрировать возможности повышения эффективности работы за счет автоматизации процессов повседневной работы. 

В главе 8 рассматривается использование VBA для создания 
презентаций в пакете PowerPoint. 

В конце книги приведена литература, которая будет полезна 
читателям, желающим углубить свои знания в области разработки программ на языке Visual Basic for Application, а также 
глоссарий и предметный указатель. 

Содержание пособия соответствует профессиональной образовательной программе государственных образовательных стандартов по направлениям подготовки «Прикладная информатика 
в экономике (менеджменте)» и «Бизнес-информатика». Учебное 
пособие может быть использовано при изучении следующих дисциплин: информатика и программирование, базы и банки данных, алгоритмизация и технологии программирования, офисные 
пакеты прикладных программ, информационные системы в экономике и менеджменте, информационные технологии в экономике и менеджменте, информационные технологии в управлении, принятие управленческих решений и др. 

Работа над материалом книги распределилась следующим образом: доктор технических наук, профессор С.В. Назаров — предисловие, главы 1 и 2, глоссарий, предметный указатель; кандидат технических наук П.П. Мельников — главы 3 и 4; кандидат 
технических наук Л.П. Смольников — главы 5 и 6; кандидат технических наук Д.В. Куприянов — глава 7; кандидат технических 
наук В.А Титов — глава 8. 

ГЛАВА 1 

ОСОБЕННОСТИ ЯЗЫКА И СРЕДСТВ VBA 

1.1. VBA - язык офисного программирования 

Объектно-ориентированное программирование (ООП) в настоящее время завоевало положение доминирующей парадигмы 
почти во всех областях современного программирования. Оно 
значительно потеснило в практике методы структурного программирования и продолжает оказывать решающее влияние на 
развитие всех областей современного программирования - языки и системы программирования, операционные системы, базы 
данных и знаний. 

В основе ООП лежит идея «упакованной функциональности» [3]. Прикладная программа строится из объектов с некоторыми характеристиками (свойствами) и некоторыми операциями, которые эти объекты могут выполнять. Текущее состояние 
объекта через какое-то время может изменяться, но программа 
всегда зависит от объектов, в том смысле, что они не могут взаимодействовать друг с другом произвольным способом. Программист сам решает, формировать ли оригинальные объекты 
или использовать уже имеющиеся. Чаще всего если существующие объекты удовлетворят требованиям относительно того, что 
они могут выполнять и как они могут реагировать на внешние 
воздействия, программиста не заботит, как эта функциональность реализована. На языке ООП его интересует только то, 
какие возможности объект может предоставить и как их можно 
использовать в интересах прикладной программы. 

ООП оказало влияние на создание и использование офисных пакетов, в том числе на наиболее распространенный в нашей стране MS Office. На идеях и принципах ООП развивается 
новый вид программирования — офисное программирование. 

Основным инструментом офисного программирования в пакетах MS Office является язык Visual Basic for Application (VBA). 

15 

Почему именно этот, а не другой язык, легко понять, проследив 
историю создания фирмы Microsoft и личных пристрастий ее 
создателя Билла Гейтса. Этот язык является, с одной стороны, 
подмножеством языка Visual Basic (VB), так что, если пользователь офисного пакета ранее программировал на VB или просто 
знаком с любой версией Basic, он может легко перейти к программированию в офисных пакетах. С другой стороны, VBA — 
это надмножество VB и «for Application» означает многое. Прежде 
всего это дополнение множества объектов VB огромным множеством объектов приложений MS Office. Важно отметить, что 
для основных приложений MS Office 2000 (Word, Excel, Access, 
PowerPoint, Outlook) VBA стал практически единым (за некоторыми исключениями, которые отмечаются далее). 

В VBA используется технология визуального программирования, при которой конструирование рабочей поверхности приложения и его элементов управления производится непосредственно на экране монитора, а запись программы или ее частей 
осуществляется при помощи макрорекордера (см. п. 1.4). При 
поверхностном знакомстве с технологией визуального программирования может даже создаться впечатление, что она сводится 
к записи макросов, помещению в формы элементов управления 
и определению их связи с макросами. При решении простейших задач так и происходит. Но если требуется создать серьезное приложение с содержательной обработкой данных, то на 
первый план выступает сам язык VBA. 

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

Отметим преимущества офисного программирования на VBA 
для конечного пользователя [2]: 

16