
- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 2. Основы офисного программирования
- •Оглавление
- •Глава 6. Использование Win32 api 113
- •Глава 7. Использование шаблонов и надстроек 118
- •Глава 8. Разработка приложений с помощью Excel 122
- •Глава 9. Разработка приложений с помощью Word 223
- •Глава 10. Использование Automation при интегрировании компонентов Microsoft Office 256
- •Глава 11. Организация доступа к внешним данным 279
- •Глава 12. Общие рекомендации по разработке приложений 297
- •Глава 13. Разработка справочной системы 298
- •Глава 14. Дополнительные рекомендации 301
- •Пояснительная записка
- •Уровень предварительной подготовки слушателей
- •Образовательные цели и задачи
- •Знания и навыки, получаемые в ходе изучения курса
- •Содержание занятий
- •Вопросы для самостоятельного изучения
- •Содержание лабораторных работ
- •Итоговые работы
- •Введение
- •Глава 1.Общая характеристика возможностей vba
- •Глава 2.Основные принципы разработки приложений
- •Глава 3.Основные правила разработки интерфейса
- •Глава 4.Visual Basic для приложений
- •Глава 5.Введение в язык и редактор Visual Basic
- •5.1.Окно Редактора Visual Basic
- •5.2.Основные правила записи программ на vba
- •5.2.1. Описания в программах на языке vba
- •5.2.2. Структуризация программ vba и правила записи кода процедур
- •5.2.3. Использование параметров
- •5.2.4. Типы данных vba
- •5.2.5. Описания переменных
- •5.2.6. Объекты в программах на vba и объектные переменные
- •5.2.7. Создание объектов пользователя
- •5.2.8. Описание и использование констант
- •5.2.9. Массивы в vba
- •5.2.10. Описание типов данных пользователя
- •5.2.11. Запись выражений на vba
- •5.2.12. Рекурсивные вычисления
- •5.2.13. Процедуры-подпрограммы
- •5.2.14. Процедуры-функции
- •5.2.15. Процедуры-свойства
- •5.2.16. Создание процедур
- •5.2.17. Управляющие структуры vba и события
- •5.3.Запуск программ
- •5.4.Отладка программ
- •5.5.Обработка ошибок
- •5.6.Преобразования типов
- •5.7.Функции для работы с датами и временем
- •5.8.Управление файлами
- •5.9.Функции проверки
- •5.10.Функции работы со строками
- •5.11.Взаимодействие с пользователем
- •5.12.Пользовательские формы и диалоговые окна
- •5.13.Создание пользовательских меню и панелей инструментов
- •5.14.Разработка контекстного меню
- •5.15.Открытие проектов, экспорт и импорт
- •Глава 6.Использование Win32 api
- •Глава 7.Использование шаблонов и надстроек
- •Глава 8.Разработка приложений с помощью Excel
- •8.1.Иерархия объектов Excel
- •8.2.Обзор основных объектов Excel
- •8.2.1. Объект Application
- •8.2.2. Объект Workbook
- •8.2.3. Объект WorkSheet
- •8.2.4. Объект Range
- •8.2.5. Графические объекты
- •8.2.6. Элементы управления и обработка событий
- •8.3.Представление данных и вычисления в таблицах Excel
- •8.3.1. Ссылки на ячейки рабочих листов Excel
- •8.3.2. Работа с формулами
- •8.3.3. Использование функций
- •8.3.4. Создание пользовательских функций рабочего листа
- •8.3.5. Массивы Excel
- •8.3.6. Определение связей между таблицами
- •8.3.7. Консолидация данных
- •8.3.8. Форматирование данных в таблицах
- •8.4.Анализ данных и подведение итогов
- •8.4.1. Создание сводных таблиц
- •8.4.2. Подведение промежуточных итогов
- •8.4.3. Определение частичных сумм
- •8.4.4. Создание диаграмм
- •8.4.5. Работа со структурой данных
- •8.5.Подбор параметров и поиск решения
- •8.6.Использование сценариев
- •8.7.Поиск и отбор данных в таблицах Excel
- •8.7.1. Использование автофильтра
- •8.7.2. Работа с расширенным фильтром
- •8.7.3. Поиск данных по подписям строк и столбцов
- •8.8.Упорядочение данных в таблицах
- •8.9.Защита приложений Excel
- •8.9.1. Защита от ошибок при вводе данных
- •8.9.2. Защита данных от несанкционированного доступа
- •Глава 9.Разработка приложений с помощью Word
- •9.1.Модель объектов Word
- •9.1.1. Объект Document
- •9.1.2. Другие дочерние объекты приложения Word
- •9.2.Работа с полями
- •9.3.Переменные документа
- •9.4.Использование формул в документах Word
- •9.5.Использование элементов управления в документах Word
- •9.6.Создание шаблонов документов на основе таблиц
- •9.7.Защита документов Word и кода
- •Глава 10.Использование Automation при интегрировании компонентов Microsoft Office
- •10.1.Технология ActiveX
- •10.2.Компонентная модель объектов, внедрение и связывание
- •10.3.Создание объектов Automation
- •10.4.Получение доступа к объекту
- •10.5.Пример вычислений в Access с помощью Excel
- •10.6.Управление связанными и внедренными объектами с помощью программного кода
- •Глава 11.Организация доступа к внешним данным
- •11.1.Доступ к данным из клиентских приложений
- •11.2.Интерфейс odbc
- •11.3.Использование dao для доступа к данным
- •11.3.1. Модель объектов dao
- •11.3.2. Создание рабочей области и открытие источника данных
- •11.3.3. Исследование структуры таблиц бд
- •11.3.4. Операции над данными
- •11.4.Интеграция данных и работа в сети
- •11.4.1. Доступ к данным Excel из субд Access
- •11.5.Выбор метода доступа к данным
- •Глава 12.Общие рекомендации по разработке приложений
- •Глава 13.Разработка справочной системы
- •13.1.Использование всплывающих подсказок
- •13.2.Контекстная справка «Что это такое?»
- •13.3.Подготовка файла справки
- •Глава 14.Дополнительные рекомендации Установка приложения
- •14.1.Повышение эффективности работы приложения
- •Приложение 1. Система автоматизации подготовки документов на основе пакета Microsoft Office
- •Требования к системе Office case
- •Интеллектуальность документа
- •Однократный ввод данных и их совместное использование
- •Дружественный интерфейс – «ориентация на человека»
- •Мобильность
- •Независимость от версии Microsoft Office
- •Поддержка языка разметки документов xml
- •Общий сценарий использования
- •Структура Office case
- •Структура скрытого раздела документа
- •В. Таблица ограничений
- •Подсистемы программного проекта документа Менеджер закладок
- •Менеджер классификаторов
- •Подсистема управления интерфейсом пользователя
- •Подсистема контроля данных
- •Подсистема информационного обмена
- •Дизайнер системы документов
- •Редактор классификаторов
- •Редактор правил
- •Редактор закладок
- •Редактор блоков данных
- •Пример применения Office case Постановка задачи
- •Реализация Документы «Подсистемы автоматизации подготовки отчетов»
- •Требования к квалификации пользователей
- •Установка приложения и подготовка к работе
- •Интерфейс первичных документов
- •Интерфейс сводных документов
- •Приложение 2. Автоматизированное рабочее место «Оператор автозаправочной станции»
- •Разработка структуры рабочей книги
- •Настройка пользовательского интерфейса
- •Разработка экранных форм
- •Приложение 3. Автоматизация заполнения бланка с помощью программы текстового процессора Word Постановка задачи
- •Разработка документа
- •Разработка экранной формы
- •Список литературы
Глава 7.Использование шаблонов и надстроек
Все продукты MS Office позволяют сохранять приложения в отдельных документах, но этот вариант плохо подходит для многократного использования. Задачу многократного применения приложений решают шаблоны и надстройки. Шаблоны решают, в частности, задачу разделения кода.
Шаблоны упрощают создание и форматирование документов с общим содержанием и общей функциональностью. Шаблоны задают модель приложения. Шаблоны могут включать текст, графику, формулы, специальные элементы оформления текста, таблиц, рисунков и т.п., диалоговые окна пользователя, модули VBA.
Каждый продукт использует специальное расширение для файлов шаблонов: DOT – для Word, XLT – для Excel, POT – для PowerPoint.
Чтобы шаблон автоматически загружался каждый раз при запуске приложения Office, его нужно сохранить в папке «XLSTART» (для Excel) или «STARTUP» (в случае Word или PowerPoint).
Все документы Word используют совместно шаблон, на котором они основаны. Практически это означает, что документы Word состоят из двух проектов: первый проект от используемого шаблона, а второй – собственно документ Word.
Рабочие книги Excel и презентации PowerPoint, основанные на шаблонах, используют индивидуальные копии исходного шаблона. Они могут содержать только один проект VBA: каждый файл содержит свою копию шаблона, поэтому изменения, сделанные в этой копии не отражаются на других документах.
Шаблоны Word могут включать следующие элементы: автотекст, закладки, комбинации клавиш, стили, текст и другие объекты (поля, гиперссылки, разделы, колонтитулы и надписи), панели инструментов и меню, модули и формы. Они сохраняются обычно в папке «Шаблоны».
На документ Word могут влиять несколько шаблонов, причем шаблон, на котором непосредственно основан документ, может содержать один набор установок, а глобальный шаблон NORMAL.DOT – другой. Кроме того, могут быть загружены и другие глобальные шаблоны. Разрешение конфликтов основывается на иерархии шаблонов. В зависимости от характера связи шаблона с документом, установки шаблона могут отменять или не отменять установки другого шаблона для данного документа. Иерархия шаблонов выглядит следующим образом:
шаблон, присоединенный к активному документу;
шаблон «Обычный»;
другие глобальные шаблоны;
надстройки;
уровень приложения.
Установки, сделанные в шаблоне, присоединенном к документу, имеют максимальный приоритет.
Модули VBA и диалоговые окна обычно сохраняются в глобальных (общих) шаблонах, доступных всем документам Word (примером является шаблон NORMAL.DOT или «Обычный»). Чтобы сделать шаблон глобальным, нужно воспользоваться командой Шаблоны и надстройки из меню Сервис.
Если шаблон сохранить в папке «STARTUP», то Word будет автоматически использовать этот шаблон при запуске или при нажатии кнопки Создать на панели инструментов.
В Excel можно использовать три категории шаблонов: шаблоны, автоматизирующие решение конкретных задач; автошаблоны, которые имеют конкретное имя и могут быть рабочими листами или рабочими книгами; пользовательские шаблоны листов, которые можно использовать в качестве основы для новых рабочих листов, листов диаграмм, листов с модулями, диалоговыми формами и макросами.
Excel распознает следующие имена автошаблонов: BOOK.XLT (для рабочих книг), CHART.XLT (для листов диаграмм), SHEET.XLT (для рабочих листов), DIALOG.XLT (для диалоговых форм Excel версий 5 и 7), MODULE.XLT (для модулей с кодом Excel версий 5 и 7), MACRO.XLT (для листов макросов Excel версий 4).
Для создания автошаблона или пользовательского шаблона рабочего листа нужно удалить все листы, которые не будут использоваться в качестве шаблона, оставив только необходимые таблицы, диаграммы, формы, модули и макросы.
Если шаблон BOOK.XLT сохранить в папке «XLSTART», то Excel будет автоматически использовать этот шаблон при запуске Excel или при нажатии кнопки Создать на панели инструментов, а если в этой папке сохранить автошаблон листа, то он будет использоваться всякий раз при вставке листа такого типа.
Шаблоны PowerPoint позволяют сохранять форматирование, графику и модули VBA. Для обеспечения функциональности пользовательского интерфейса необходимо использовать надстройки PowerPoint.
В Access шаблоны играют меньшую роль, чем в других продуктах MS Office. Эти шаблоны могут содержать только простейшие элементы оформления форм и отчетов.
Для решения задачи обновления приложений Excel и PowerPoint можно использовать надстройки, представляющие собой автономные программные компоненты, которые могут использоваться как приложениями, разработанными средствами Microsoft Office, так и самими продуктами Microsoft Office. При этом всегда используется один и тот же код, защищенный от локальных изменений внутри приложения.
В каждом продукте MS Office для файлов надстроек используется собственное расширение: XLA – для Excel, PPA – для PowerPoint, MDA – для Access.
Для создания надстройки в Excel или PowerPoint следует сохранить файл с особым расширением, указывающим, что в нем содержится надстройка (команда Сохранить как… меню Файл). Чтобы надстройка автоматически загружалась во время запуска приложения, ее нужно поместить в папку «XLSTART» (для Excel) или «STARTUP» (для PowerPoint). Надстройки можно загружать вручную, используя команду Надстройки из меню Сервис. Возможна программная загрузка из процедуры модуля VBA.
В Access для создания надстроек используется команда Служебные программы Создать MDE-файл из меню Сервис. Эта команда дает возможность сохранить файл как надстройку.
В Word не поддерживается работа с надстройками в той же форме, что и в других продуктах Office. Фактически надстройки Word являются глобальными шаблонами или библиотеками WLL. Для загрузки надстройки Word соответствующий файл можно поместить в папку «STARTUP» (если необходима автоматическая загрузка во время запуска). «Вручную» надстройку можно загрузить, выполнив команду Шаблоны и надстройки меню Сервис.
Использование надстроек способствует защите приложения от изменений. После создания надстройки невозможно редактировать или просматривать исходный код, поэтому перед созданием надстройки следует убедиться, что исходный файл шаблона или базы данных был сохранен (как «резервная копия»). Надстройки не могут содержать текста документа, формул и форматирования (например, именованных диапазонов Excel, закладок Word).