- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 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 состоит из двух основных компонентов: инструментальные средства, используемые при создании системы документов, и универсальный программный проект документа, реализующий функциональность каждого конкретного документа системы.
Пользователи первой группы непосредственно работают как с первым так и со вторым компонентом, от них требуется базовые навыки работы с приложения пакета Microsoft Office и освоения интегрированной среды разработчика систем документов Office CASE. От представителей второй группы требуются только базовые навыки работы с персональным компьютером.
Приоритетным направлением разработки системы является визуализация и упрощение основных операций пользователя при работе с системой.
Мобильность
Для работы документа не требуется наличия никаких дополнительных программных средств, кроме Microsoft Office. Время пользователя не должно теряться на установку и настройку системы. Подготовка документа к работе заключается только в копировании его на жесткий диск конечного пользователя.
Такое требование резко ограничивает круг доступных для использования технологий. Все ключевые компоненты системы в клиентской части приложения необходимо реализовать средствами Visual Basic for Application, используя минимальное обращения к системным функциям операционной системы. Так как современные антивирусные системы очень жестко подходят к проверке макросов в офисных документах и по умолчанию не позволяют обращаться к каким-либо системным функциям.
Независимость от версии Microsoft Office
Для документов Office CASE требуется обеспечить возможность их использования на платформе Microsoft Office стандартной поставки версии 97 и выше. Объектная модель Microsoft Office и язык Visual Basic for Application постоянно совершенствуются, что делает обеспечение стабильной работы системы нетривиальной задачей.
Следует заметить, что Microsoft Office 97 содержит Visual Basic for Application версии 5.0, начиная с Microsoft Office 2000 версию 6.x. Между двумя версиями языка имеется ряд значительных отличий. Многие важные и полезные функции, которые легко реализуются с 6.x, в 5.0 просто недоступны. Поэтому базовые компоненты, реализующие функциональность документа на стороне пользователя, необходимо писать в терминах Visual Basic for Application версии 5.0 и Microsoft Office 97. При разработке программного проекта документов должны использоваться алгоритмы, работающие одинаково эффективно в различных версиях офисного пакета. Изменения в объектной модели Microsoft Office следует учитывать с помощью механизмов условной компиляции и позднего связывания объектов.
