| Оглавление | Содержание | |
| Введение | 9 |
| Зачем была написана эта книга | 9 |
| О чем эта книга | 10 |
| Для кого предназначена эта книга | 11 |
| Структура книги | 13 |
| Компакт-диск с примерами | 14 |
| Используемые обозначения | 17 |
| Об авторах этой книги | 21 |
| ЧАСТЬ I. СТРАТЕГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЙ | 23 |
| Глава 1. Офисные приложения и их разработка | 25 |
| 1. 1. Что такое офисные приложения | 25 |
| 1. 1. 1. Системное и прикладное программное обеспечение | 26 |
| 1. 1. 2. Вертикальные и горизонтальные приложения | 26 |
| 1. 1. 3. Функциональность приложений | 28 |
| 1. 1. 4. Масштаб приложений | 30 |
| 1. 1. 5. Программы реального времени | 32 |
| 1. 2. Классификация офисных приложений | 34 |
| 1. 2. 1. Текстовые процессоры | 35 |
| 1. 2. 2. Системы управления базами данных | 37 |
| . 2. 3. Электронные таблицы | 41 |
| . 2. 4. Деловая графика | 45 |
| . 2. 5. Электронные коммуникации | 47 |
| 1. 3. Особенности разработки офисных приложений | 47 |
| . 3. 1. Изменение требований | 48 |
| . 3. 2. Прототип приложения | 50 |
| . 3. 3. Интерфейс пользователя | 52 |
| 1. 3. 4. Внедрение приложений | 54 |
| 1. 4. Преимущества Microsoft Office | 55 |
| 1. 4. 1. Совокупная стоимость владения приложением | 55 |
| 1. 4. 2. Быстрая разработка | 55 |
| 1. 4. 3. Использование библиотек объектов | 57 |
| 1. 4. 4. Сопровождение и модификация приложений | 58 |
| 1. 4. 5. Экономия средств при внедрении приложений | 59 |
| Глава 2. Жизненный цикл приложения | 62 |
| 2. 1. Модель процесса разработки приложения | 64 |
| 2. 1. 1. Фаза анализа | 65 |
| 2. 1. 2. Фаза проектирования | 66 |
| 4 Содержание | |
| 2. 1. 3. Фаза реализации | 67 |
| 2. 1. 4. Фаза стабилизации | 68 |
| 2. 1. 5. Фаза внедрения | 69 |
| 2. 2. Повышение продуктивности разработки | 70 |
| 2. 2. 1. Версии приложений | 70 |
| 2. 2. 2. Наложение фаз | 72 |
| 2. 2. 3. Повторное использование | 74 |
| ЧАСТЬ II. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРИЛОЖЕНИЙ | 81 |
| Глава 3. Язык Visual Basic для приложений | 83 |
| 3. 1. Общие сведения | 84 |
| 3. 1. 1. История VBA | 85 |
| 3. 1. 2. "Здравствуй, мир! " | 86 |
| 3. 1. 3. Условные обозначения | 88 |
| 3. 1. 4. Алфавит и лексика VBA | 89 |
| 3. 2. Типы данных | 94 |
| 3. 2. 1. Встроенные типы данных | 95 |
| 3. 2. 2. Объявление переменных | 102 |
| 3. 2. 3. Константы | 105 |
| 3. 2. 4. Массивы | 106 |
| 3. 2. 5. Перечисляемый тип | 110 |
| 3. 2. 6. Тип, определяемый пользователем | 111 |
| 3. 3. Операторы | 113 |
| 3. 3. 1. Операторы присваивания | 114 |
| Оператор Let | 114 |
| Оператор LSet | 115 |
| Оператор RSet | 116 |
| 3. 3. 2. Условные операторы | 117 |
| Оператор If... Then... Else | 117 |
| Оператор Select Case | 120 |
| Оператор Go To | 122 |
| 3. 3. 3. Операторы цикла | 123 |
| Оператор For.. Next | 123 |
| Оператор Do... Loop | 125 |
| Оператор While... Wend | 127 |
| Оператор For Each... Next | 127 |
| 3. 4. Структура программы | 129 |
| 3. 4. 1. Объявление процедур и функций | 132 |
| 3. 4. 2. Вызов процедур и функций | 136 |
| 3. 4. 3. Встроенные процедуры и функции | 139 |
| Функции ввода и вывода | 140 |
| Процедуры и функции работы с файлами | 142 |
| Последовательный доступ к файлу | 144 |
| Произвольный и бинарный доступ к файлам | 146 |
| Управление файлами | 147 |
| Функции преобразования типов | 148 |
| Функции проверки типов данных | 149 |
| Процедуры и функции работы со строками | 150 |
| Содержание | |
| Математические функции | 152 |
| Процедуры и функции работы со временем и датами | 153 |
| Директивы транслятора | 156 |
| 3. 5. Классы и объекты | 157 |
| 3. 5. 1. Введение в объектно-ориентированное программирование | 158 |
| Инкапсуляция и классы | 158 |
| Встраивание | 158 |
| Наследование | 159 |
| 3. 5. 2. Создание класса и объявление объектов | 159 |
| 3. 5. 3. Процедуры класса | 164 |
| Процедуры-методы | 164 |
| Процедуры-свойства | 164 |
| Процедуры реакции на собыдае | 167 |
| 3. 5. 4. Семейства | 168 |
| Глава 4. Инструментальная сред! разработки | 173 |
| 4. 1. Редактор VBA | 173 |
| 4. 2. Справочная система | 179 |
| 4. 2. 1. Справка | 179 |
| 4. 2. 2. Просмотр объектов | 183 |
| 4. 3. Отладка | 186 |
| 4. 3. 1. Отладчик | 187 |
| 4. 3. 2. Обработка ошибок | 200 |
| Объект Debug | 200 |
| Операторы On Error и Resume | 201 |
| Объект Err | 203 |
| 4. 4. Проекты | 205 |
| 4. 4. 1. Манипулирование структурой проекта | 205 |
| 4. 4. 2. Свойства проекта | 207 |
| 4. 4. 3. Ссылки на проект | 208 |
| 4. 4. 4. Экспорт и импорт | 209 |
| Глава 5. Объектные модели Microsoft Office 2000 | 211 |
| 5. 1. Общие положения | 211 |
| 5. 2. Объектная модель VBA и Microsoft Office | 215 |
| 5. 2. 1. Объектная модель VBA | 215 |
| 5. 2. 2. Объектная модель Microsoft Office 2000 | 217 |
| 5. 3. Объектная модель Word 2000 | 220 |
| 5. 3. 1. Объекты приложения Word | 220 |
| 5. 3. 2. Объект Document | 223 |
| 5. 3. 3. Использование свойств объекта Document | 227 |
| 5. 4. Объектная модель Excel 2000 | 229 |
| 5. 4. 1. Объекты приложения Excel | 229 |
| 5. 4. 2. Объект Workbook | 231 |
| 5. 4. 3. Объект Worksheet | 233 |
| 5. 5. Объектная модель PowerPoint 2000 | 237 |
| 5. 5. 1. Объекты приложения PowerPoint | 237 |
| 5. 5. 2. Объект Presentation | 238 |
| 5. 5. 3. Использование свойств Presentation | 241 |
| Содержание | |
| 5. 6. Объектная модель Outlook 2000 | 242 |
| 5. 6. 1. Объекты приложения Outlook | 242 |
| 5. 6. 2. Объекты MAPIFolder и Mailltem | 245 |
| 5. 1. Объектная модель Access 2000 | 246 |
| 5. 7. 1. Объекты приложения Access | 247 |
| 5. 7. 2. Новые объекты CurrentProJec! — CodeData | 250 |
| Глава 6. Интеграция приложений | 254 |
| 6. 1. Связывание и внедрение объектов | 255 |
| 6. 1. 1. Внедрение нового объекта | 257 |
| 6. 1. 2. Внедрение существующего объекта | 259 |
| 6. 1. 3. Использование специальной вставки для внедрения объектов | 260 |
| 6. 2. Средство Automation | 261 |
| 6. 2. 1. Имена приложений-серверов Automation | 262 |
| 6. 2. 2. Функции доступа к объектам Automation | 263 |
| 6. 2. 3. Позднее и ранее связывание | 266 |
| 6. 2. 4. Пример обмена данными между Excel и Access | 267 |
| 6. 2. 5. Управление офисными приложениями из Visual Basic | 270 |
| Глава 7. Архитектура приложений | 273 |
| 7. 1. Событийная модель программирования | 273 |
| 7. 1. 1. Как работает Windows: окна события, сообщения | 274 |
| 7. 1. 2. Программные объекты и события | 275 |
| 7. 2. Конструирование интерфейса пользователя | 278 |
| 7. 2. 1. Разработка диалоговых окон | 279 |
| 7. 2. 2. Разработка меню и панелей инструментов | 303 |
| 7. 2. 3. Элементы управления в документах | 323 |
| 7. 3. Многопользовательские приложения | 329 |
| 7. 3. 1. Технологии доступа к данным | 330 |
| 7. 3. 2. Архитектуры файл-сервер и клиент-сервер | 332 |
| 7. 3. 3. Объектная модель ADO | 336 |
| 7. 4. Технологии Интернета | 342 |
| 7. 4. 1. Основы динамического HTML | 343 |
| 7. 4. 2. VBA и документы HTML | 355 |
| 7. 4. 3. Web-компоненты | 359 |
| Глава 8. Защита данных и приложений | 366 |
| 8. 1. Доступ к документам и коду VBA | 368 |
| 8. 1. 1. Защита паролем документов Word и Excel | 368 |
| 8. 1. 2. Защита кода VBA | 373 |
| 8. 2. Защита документов от макровирусов | 376 |
| 8. 2. 1. Цифровые сертификаты | 378 |
| 8. 2. 2. Получение цифрового сертификата | 381 |
| 8. 2. 3. Работа с подписанными проектами | 383 |
| 8. 3. Защита решений в Access | 389 |
| 8. 3. 1. Дополнительные методы защиты | 390 |
| 8. 3. 2. Защита на уровне пользователя | 397 |
| Содержание | |
| ЧАСТЬ III. ПРАКТИКА РАЗРАБОТКИ ПРИЛОЖЕНИЙ | 411 |
| Глава 9. Настольное приложение | 413 |
| 9. 1. Формы, шаблоны и документы | 414 |
| 9. 1. 1. Формы | 415 |
| 9. 1. 2. Шаблоны и документы | 422 |
| 9. 2. Закладки, поля и формулы | 423 |
| 9. 2. 1. Закладки | 423 |
| 9. 2. 2. Поля | 425 |
| 9. 2. 3. Формулы | 427 |
| 9. 3. Запись макросов и настройка приложений | 430 |
| 9. 3. 1. Автоматическая запись макросов | 431 |
| 9. 3. 2. Средства вызова макросов и настройки приложений | 438 |
| Глава 10. Представление и анализ данных | 445 |
| 10. 1. Диаграммы | 446 |
| 10. 1. 1. Запись макроса | 447 |
| 10. 1. 2. Превращение макроса в универсальную процедуру | 452 |
| 10. 1. 3. Диаграммы Excel | 454 |
| 10. 1. 4. Свойства объекта Chart | 455 |
| 10. 1. 5. Методы объекта Chart | 456 |
| 10. 1. 6. Линия тренда | 459 |
| 10. 1. 7. Пример построения диаграммы и управления ею | 460 |
| 10. 2. Построение итоговой таблицы | 463 |
| 10. 2. 1. Копирование данных | 463 |
| 10. 2. 2. Консолидация данных | 466 |
| 10. 2. 3. Создание сценариев | 468 |
| 10. 3. Вычисления на рабочем листе | 472 |
| 10. 3. 1. Подбор параметра | 472 |
| 10. 3. 2. Расчет выплат | 473 |
| 10. 3. 3. Построение прогрессии | 476 |
| 10. 3. 4. Автозаполнение ячеек | 477 |
| 10. 3. 5. Расчет накоплений | 477 |
| 10. 4. Группировка данных | 481 |
| 10. 4. 1. Сортировка данных | 482 |
| 10. 4. 2. Фильтрация данных | 483 |
| 10. 4. 3. Пример сортировки и фильтрации | 484 |
| 10. 4. 4. Построение промежуточных итогов | 489 |
| 10. 4. 5. Создание структуры | 492 |
| 10. 5. Сводная таблица | 495 |
| 10. 5. 1. Программное создание сводной таблицы | 496 |
| 10. 5. 2. Свойства и методы объектов, образующих сводную таблицу | 497 |
| 10. 5. 3. Построение сводной таблицы на основе списка | 499 |
| 10. 6. Пример приложения: отчет о продажах | 503 |
| Глава 11. Распределенное приложение | 508 |
| 11. 1. Архитектура приложения | 510 |
| 11. 1. 1. Структура рабочей книги | 511 |
| 11. 1. 2. Глобальные переменные | 512 |
| Содержание | |
| 11. 1. 3. Интерфейс пользователя | 513 |
| 11. 1. 4. Ведение файла протокола | 516 |
| 11. 2. Функции приложения | 518 |
| 11. 2. 1. Ввод исходных данных | 518 |
| 11. 2. 2. Пересылка данных | 521 |
| 11. 2. 3. Получение данных | 525 |
| 11. 2. 4. Обработка данных | 530 |
| 11. 3. Работа с приложением | 532 |
| 11. 3. 1. Настройка рабочей книги | 533 |
| 11. 3. 2. Мастер правил Outlook | 534 |
| 11. 3. 3. Запуск приложения | 537 |
| Глава 12. Многопользовательское приложение | 539 |
| 12. 1. Анализ и постановка задачи | 539 |
| 12. 2. Создание логической модели приложения | 544 |
| 12. 2. 1. Создание модели данных | 545 |
| 12. 2. 2. Создание модели представления данных | 549 |
| 12. 2. 3. Создание модели управления данными | 551 |
| 12. 3. Создание физической модели приложения | 553 |
| 12. 3. 1. Физическая модель данных | 553 |
| 12. 3. 2. Компонентное представление и представление распределения | 555 |
| 12. 3. 3. Система защиты сетевого приложения | 557 |
| 12. 4. Создание прототипа приложения | 558 |
| 12. 4. 1. С чего начать? | 558 |
| 12. 4. 2. Как продолжить | 568 |
| Создание формы | 568 |
| Изменение свойств формы | 581 |
| 12. 4. 3. Чем закончить | 598 |
| 12. 5. Усовершенствование приложения | 599 |
| Заключение | 609 |
| ЧАСТЫУ. ПРИЛОЖЕНИЯ | 611 |
| Приложение А. Толковый словарь терминов | 613 |
| Приложение Б. Сравнение языков VBA и VBScript | 630 |
| Приложение В. Основные элементы языка UML | 633 |
| 8. 1. Общие сведения | 634 |
| В. 1. 1. Моделирование | 634 |
| В. 1. 2. Метод и язык моделирования | 634 |
| В. 1. 3. История появления UML | 635 |
| 8. 2. Краткое описание языка UML | 638 |
| 8. 2. 1. Представления | 639 |
| 8. 2. 2. Диаграммы | 640 |
| 8. 2. 3. Элементы модели | 651 |
| Приложение Г. Примеры на компакт-диске | 654 |