- •Л.Н. Лядова, н.В. Фролова, в.В. Ланин, е.Б. Замятина, м.А. Плаксин, б.А. Ермолаев
- •Часть 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 Постановка задачи
- •Разработка документа
- •Разработка экранной формы
- •Список литературы
Глава 1.Общая характеристика возможностей vba
Полномасштабный язык программирования VBA включает следующие средства:
полный доступ к командам приложения;
возможности изменения стандартного интерфейса и создания профессионального пользовательского интерфейса;
наличие традиционного набора структур управления;
использование функций;
встроенный текстовый редактор для написания кода;
средства структурирования кода;
средства отладки;
использование Windows API и пользовательских библиотек динамической компоновки (DLL).
Офисные средства не обеспечивают высокой эффективности, но позволяют разработать приложения для бизнеса очень быстро, поскольку используют функциональность, уже заложенную в базовое приложение. Кроме того, внедряются такие приложения очень быстро, так как пользователь остается в привычной среде базового приложения.
Можно выделить следующие основные средства структуризации приложений, созданных на основе MS Office, позволяющие превратить их в естественные расширения приложений пакета:
разработка процедур, реализующих сложные задачи, часто выполняемые пользователями, с помощью средств макрогенерации приложений пакета или редактора VBA;
создание собственных диалоговых окон для решения задач поиска и редактирования частей документа, его стандартных элементов, данных;
добавление пользователских меню и панелей инструментов, включающих команды, процедуры для реализации которых создаются пользователем (программистом);
использование процедур обработки событий объектов приложений Office (создания, открытия, закрытия и т.п. файлов);
замещение стандартных команд приложений Office;
использование шаблонов и надстроек;
защита данных от несанкционированного или некорректного доступа, блокирование команд.
Механизмы реализации этих средств могут быть различными для приложений Office. Общие возможности и особенности использования перечисленных возможностей рассматриваются ниже.
Глава 2.Основные принципы разработки приложений
Продуктивность работы возрастает не тогда, когда начинают использовать новый компьютер более совершенной модели, а только после того, как пересматривается отношение к самому процессу работы. Сотрудники склонны к тому чтобы использовать персональный компьютер как то, что он заменил (например, пишущую машинку). Компьютер будет использоваться эффективно только после создания необходимых для работы приложений, ориентированных на конкретных пользователей и применение, только после переобучения сотрудников, освоения ими новых технологий.
Процесс организации работы должен отвечать некоторым общим принципам:
однократный ввод данных и их совместное использование (информация (названия фирм, фамилии, адреса и т.п.) должна вводиться только один раз и сохраняться в базе данных для последующего использования в различных приложениях),
превращение компьютера в центральное звено документооборота предприятия, устранение «устаревших» действий и «лишних» шагов (использование «живых» документов, минимизация «бумажного» документооборота).
Разработка приложений должна начинаться с анализа задач, который можно выполнить как следующую последовательность шагов:
определение задач;
определение сценариев для каждой задачи;
анализ сценариев;
группировка функциональности по этапам постановки;
тестирование.
Первый шаг требует определить, кто, что, где, когда и как делает. При этом необходимо идентифицировать не только явно поставленные задачи (в которых «участвуют» пользователи), но и задачи, которые «скрыты» от пользователя. Для этого следует понять процесс бизнеса, для которого разрабатывается приложение.
Требования к приложению описываются в терминах сценариев, каждый из которых описывает от начала до конца взаимодействие пользователя с ПК при решении конкретной задачи. В описании сценариев определяются все элементы приложения: формы, команды, сообщения, отчеты. Эти требования должны быть задокументированы и подписаны заказчиком. Это предохраняет от того, что спецификации «поплывут»: «требования к приложению подобны воде, на них легче опираться, когда они заморожены».
Цель анализа сценариев состоит в распределении функциональности по компонентам приложения. Приложение должно быть разбито на небольшие компоненты, тога его легче разрабатывать и сопровождать. Код компонентов приложения необходимо комментировать. Если процедура или функция вызывается из других процедур, в комментариях необходимо перечислить их все. Это поможет при внесении изменений.
Если приложения разрабатываются на основе базовых приложений, то их поставку можно осуществлять «по частям». Для этого необходимо распределить работу по этапам так, чтобы обновления версий происходили «гладко», т. е. без переучивания пользователя и повторного ввода информации.
Поставленная пользователю очередная версия может проходить тестирование во время разработки следующей версии. Полученные от пользователей рекламации дают информацию о том, какие компоненты не работают вовсе, а какие работают не так, как хотелось бы. Ошибки должны быть исправлены, а замечания должны быть учтены при поставке следующей версии приложения.
Разработка приложения является итерационным процессом, приложения могут дорабатываться и улучшаться постоянно. Лучшие приложения строятся «с прицелом на будущее»: они могут модифицироваться и наращиваться разработчиками, причем нет необходимости все начинать «с нуля».
