- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 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 Постановка задачи
- •Разработка документа
- •Разработка экранной формы
- •Список литературы
Структура Office case
В системе можно выделить две наиболее важные составляющие: исполнительная среда документа и интегрированная среда разработчика. Исполнительная среда документа Office CASE Document Framework (OCDF) – это его программный проект, реализующий всю функциональность на уровне документа. Интегрированная среда разработчика Office CASE Documents Studio (OCDS) служит для автоматизированной разработки систем документов. Рассмотрим данные компоненты системы более подробно.
Office CASE Document Framework
Как уже отмечалось ранее, работа пакета Office CASE основана на метаданных. Document Framework, интерпретируя метаданные, содержащиеся в документе, предоставляет пользователю возможность работы на качественно более высоком уровне, чем обычная работа с офисным документом. Например, при заполнении документа первичными данными пользователь вносит данные в экранную форму, причем система в интерактивном режиме контролирует их корректность; построение сводной документации также может быть организовано в автоматическом режиме, так как в метаданные шаблона сводного отчета включена информация о структуре первичных отчетов.
Документ, созданный в системе Office CASE состоит из двух основных разделов: скрытого и видимого (рис.3).
Видимый раздел представляет собой обычный документ, это документ, который в конечном итоге желает получить пользователь. Особенностью раздела является то, что места, в которые должны быть помещены данные, размечены с помощью механизма закладок. Для каждой закладки в метаданных документа указаны правила, по которым может быть получено ее значение. Значение закладки может быть запрошено у пользователя, получено путем обработки известных значений или скопировано из других документов системы.
Рис. ???. Схема Office Case документа
Основные логические компоненты Document Framework представлены на схеме (рис. 4).
Рис. ???. Основные подсистемы Office Case Document Framework
Структура скрытого раздела документа
Информация необходимая для функционирования документа располагается в скрытом, недоступном пользователю, разделе документа. Скрытый раздел содержит метаданные, управляющие поведением документа, и набор справочников, используемых при заполнении документа. Для хранения информации в скрытом разделе используются таблицы. Наиболее важными являются таблицы: закладок, правил, ограничений, описания экранных форм.
Таблица закладок содержит информацию о разметке основного и скрытого разделов документа. В этой таблице хранится информация о типе закладки, способах использования закладки. Таблица закладок является одной из самых важных таблиц и имеет всегда фиксированное имя. Доступ ко всем элементам документа, включая таблицы метаданных, осуществляется через закладки.
Информация о правилах, наложенных на вводимые пользователем значения, хранится в таблице правил. Каждое правило может содержать в себе несколько ограничений. Правило имеет уникальное имя, по которому система к нему обращается. Также с правилом связывается текст и тип ошибки, выводящиеся пользователю на экран, если введенные им данные не удовлетворяют ограничениям правила. Правила и ограничения находятся в отношении многие ко многим, то есть одно правило может содержать несколько ограничений, и одно ограничение может входить в несколько правил. Для поддержки данного отношения служит таблица связи правил и ограничений, поле «Link» данной таблицы используется для связи ограничений в правиле операциями «и» или «или». Информация об ограничениях на значения храниться в таблице ограничений. Поле «Name» задает уникальное имя ограничения, по которому к нему обращается система. Поле «Type» используется для указания типа данных проверяемого значения. Поддерживаются целый, вещественный, строковый, дата типы данных. Поля «Limit», «Min», «Max» используются для задания допустимого интервала значений проверяемого поля. Булево поле «Empty» указывает, обязательно ли поле для заполнения. Поле «Mask» служит для проверки соответствия проверяемого значения определенному шаблону. Задание поля поле «Format» позволяет отформатировать введенное значении в соответствии с указанным шаблоном.
Id |
Name |
ErrTitle |
ErrMsg |
ErrType |
1 |
|
|
|
|
2 |
|
|
|
|
a. Таблица правил
Id |
IdRule |
IdConstraint |
Link |
|
|
|
|
|
|
|
|
б. Таблица связи правил и ограничений
ID |
Name |
Type |
Limit |
Min |
Max |
Empty |
Mask |
Format |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
