- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 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 Постановка задачи
- •Разработка документа
- •Разработка экранной формы
- •Список литературы
Подсистема управления интерфейсом пользователя
При работе с документом пользователь не работает непосредственно с «текстом» документа, все данные вводятся с помощью экранной формы, строящейся динамически по метаданным. Примерный вид формы показан на рис. 5.
Обычно экранная форма содержит несколько вкладок, которые соответствуют разделам документа. Каждая из вкладок может содержать один или несколько блоков данных.
Блок данных представляет собой таблицу, в строках и столбцах которой располагаются элементы управления. Есть возможность объединить ячейки таблицы для логической группировки элементов управления. Для удобства пользователя при большом объеме блока данных применяется механизм прокрутки с возможностью закрепления заголовочных строк и столбцов.
Разработчик документа может произвольным образом настроить внешнее оформление экранной формы, применить различные цветовые схемы оформления.
В любом Office CASE документе, предназначенном для ввода данных, в нижней части формы располагаются стандартные командные кнопки управления документом.
Нажатие на кнопку «Сохранить» приводит к переносу данных с экранной формы в соответствующие поля документа. Пользователь может на некоторое время прервать работу с документом. При последующей загрузке документа данные из документа загрузятся в экранную форму.
Кнопка «Исправить» приводит к запуску проверки корректности данных в экранной форме. Помимо интерактивной проверки данных непосредственно в процессе набора данных такой механизм бывает весьма полезен.
В процессе работы с документом есть возможность переключиться с представления экранной формы на представление документа. Но у пользователя нет возможности модифицировать документ.
Рис. ???. Пример экранной формы для ввода данных
В качестве элементов управления экранной формы могут выступать: текстовое поле, надпись, комбинированный список и счетчик. Информация для создания экранной формы загружаются их таблицы, находящейся в скрытом разделе документа.
Подсистема контроля данных
Интерактивный контроль данных при заполнении полей документа является очень важной функцией в рассматриваемой системе. При запуске документа информация о доступных правилах и ограничениях загружается из таблицы правил. При изменении значения поля введенное значение проверяется на соответствие ограничениям.
Подсистема информационного обмена
Основная задача рассматриваемой подсистемы это представить интерфейс и набор функций для извлечения информации из документа. Эта подсистема также отвечает за генерацию XML файла по данным документа.
Выше мы рассматривали документы, являющиеся первичными, то есть документы, содержащие данные, которые вводит пользователь. Office CASE позволяет также строить документы, агрегирующие первичные данные: документ формируется на базе заполненных документов.
Программный проект документа рассматриваемого типа должен реализовать две функции: создание документов, в которые будет введена первичная информация, и обработка информации из заполненных документов.
При создании дочерних документов документ-родитель сохраняет о них информацию, которую сможет использовать при создании отчета. Например, не допустить повторную обработку документа или указать, какого документа не хватает.
Для реализации второй функции служит специальный документ-мастер, последовательно собирающий необходимую информацию из первичных документов. Результат работы мастера – готовый документ.
Выше мы рассматривали документы, являющиеся первичными, то есть документы, содержащие данные, которые вводит пользователь. Office Case позволяет также строить документы, агрегирующие первичные данные: документ формируется на базе заполненных документов.
Программный проект документа рассматриваемого типа должен реализовать две функции: создание документов, в которые будет введена первичная информация, и обработка информации из заполненных документов.
При создании дочерних документов документ-родитель сохраняет о них информацию, которую сможет использовать при создании отчета. Например, не допустить повторную обработку документа или указать, какого документа не хватает.
Для реализации второй функции служит мастер, который последовательно собирает необходимую информацию из первичных документов. Результат работы мастера – готовый документ.
Рис. ???. Первый этап работы мастера создания формы 76-рик
Office CASE Documents Studio
Основная задача Office CASE Documents Studio (OCDS) автоматизация разработки систем документов. В интегрированной среде пользователю предоставляется возможность полного цикла разработки: от проектирования структуры документов до описания схемы консолидации и обработки данных. Особенностью системы является ее ориентация на пользователя-непрограммиста, поэтому отдается предпочтение визуальным инструментам. Разработчик получает возможность манипуляции объектами Office CASE Document Framework и объектами самого Microsoft Office без какого-либо программирования на VBA.
Documents Studio представляет собой отдельное приложение, с которым будет работать только администратор, ответственный за создание шаблонов автоматизированных документов. Программа устанавливается только на рабочем месте администратора. Рядовому пользователю, работающему с документами, разработанными с помощью Office CASE, навыки работы в Office CASE Documents Studio не нужны.
Рассмотрим более подробно архитектуру разрабатываемых с помощью Office CASE систем документов. Система состоит из набора связанных по данным документов. Документ может состоять из нескольких разделов. Каждому разделу документа ставится в соответствие один или несколько документов программы Microsoft Office (документ Word, рабочая книга Excel). При наличии в документе нескольких разделов доступ к ним осуществляется только через главный документ. Главный документ формы управляет созданием документов разделов из шаблона, последовательностью заполнения, тиражированием информации между разделами, подготовкой отчета для передачи. В тривиальном случае документ состоит из единственного раздела и не содержит главного документа.
Для создания системы документов с помощью Office CASE Documents Studio пользователю необходимо пройти четыре этапа:
На первом этапе следует разработать внешнее представление документов, разметить поля для данных.
Построение диаграммы документооборота является вторым этапом. Пользователь должен указать, какие объекты участвуют в процессе и как они связаны между собой.
После создания диаграммы следует этап уточнения схемы – задание свойств объектов. На данном этапе пользователь настраивает экранные формы для ввода данных.
На конечном этапе работы Documents Studio сгенерирует шаблоны документов системы. В шаблоны будут импортированы необходимые классы и модули Office Case Document Framework, внедрены метаданные, управляющие поведением документа. После данного этапа документы системы могут начать свое автономное функционирование согласно схеме, предусмотренной разработчиком.
Основные подсистемы Office CASE Documents Studio представлены на рис. ???.
Рис. ???. Основные подсистемы Office Case Document Studio
