Предисловие 
 Для кого предназначена книга 
 Структура книги 
 Принятые условные соглашения 
 Об авторах 
 
 Глава 1. Базовые сведения о VBA 
   Что такое VBA? 
   Что такое объект? 
   Семейство объектов 
   Классы 
   Методы 
   Свойства 
   События 
      Общие свойства и методы семейств 
      объектов 
   Создание функции пользователя в VBA 
      Где пишется код функции пользователя? 
      Структура кода функции пользователя 
      Создание первой функции пользователя 
      Вычисление стоимости партии продаваемых 
      книг при помощи пользовательской функции 
      Параметрами пользовательских функций 
      могут быть ссылки на диапазоны 
      Построение уравнения регрессии при 
      повторении данных 
      Автоматизация работы рабочего листа при 
      помощи элементов управления 
      Работа с макрорекордером (MacroRecorder) 
      Структура кода процедуры 
      Элемент управления Кнопка, создание 
      процедуры обработки события и 
      автоматическое перелистывание рабочих 
      листов 
      Создание кнопочных сценариев 
   Структура редактора VBA 
      Окно Project - VBA Project (Проект) 
      Окно редактирования кода 
      Интеллектуальные возможности редактора 
      кода 
      Окно редактирования форм (UserForm) 
      Окно Properties (Свойства) 
      Окно Object Browser (Просмотр объектов) 
 
 Глава 2. Основные объекты VBA 
   Объектная модель 
   Полная и неявная ссылка на объект 
   Объект Application 
      Свойства объекта Application 
      Методы объекта Application 
      События объекта Application 
   Объект Workbook и семейство Workbooks 
      Свойства объекта Workbook и семейства 
      Workbooks 
      Методы объекта Workbook и семейства 
      Workbooks 
      События объекта Workbook 
   Объект Worksheet и семейство Worksheets 
      Свойства объекта Worksheet и семейства 
      Worksheets 
        Объект Shape 
      Методы объекта Worksheet я семейства 
      Worksheets 
      События объекта Worksheet 
   Объекты Range и Selection 
      Адресация ячеек 
      Задание групп строк и столбцов 
      Связь объекта Range н свойства Cells 
      объекта Woksheet 
      Свойства и методы объекта Range 
      Свойства объекта Range 
        Функции RGB и QBColor 
        Управление цветом фона и элемент 
        управления Счетчик 
      Методы объекта Range 
   Объект Window 
   Примеры приложений 
      Подведение итогов 
      Создание шаблона отчета 
      Связывание макроса или процедуры с 
      кнопкой настраиваемой панели 
      инструментов 
      Создание итоговой таблицы 
      Выделение цветом различных категорий 
      прибыли и установка типа курсора 
      Управление отображением примечаний и 
      элемент управления Выключатель 
      Подсчет просроченных платежей и 
      отображение рисунков на кнопках 
      Создание формы на базе рабочего листа 
 
 Глава 3. Основы программирования на VBA 
   Допустимые имена 
   Типы данных 
   Переменные 
      Инструкция Option Explicit 
   Область видимости переменной 
      Время жизни переменной 
      Строка 
   Массивы 
      Массив и диапазон 
      Задание массива при помощи функции Array 
      Динамические массивы 
      Функции и процедуры для работы с 
      массивами 
   Константы 
   Перечисленный тип для работы с множеством 
   констант 
   Тип данных, определенный пользователем 
   Операции VBA 
      Математические операции 
      Операции отношения 
      Логические операции 
      Другие операции 
      Приоритеты операций 
   Встроенные функции VBA 
      Математические функции 
      Функции проверки типов 
      Функции преобразования форматов 
        Окно Immediate и объект Debug 
        Пользовательские форматы 
        Различные форматы для различных 
        значений 
        Еще несколько функций преобразования 
        типов 
      Функции обработки строк 
      Функции времени и даты 
      Функции выбора 
      Функции, возвращающие строки 
      Встроенные диалоговые окна 
      Финансовые функции 
   Оператор присвоения 
   Перенос строки 
   Комментарии 
   Расположение нескольких операторов в одной 
   строке 
   Оператор With 
   Операторы управления 
      Оператор условного перехода 
      Оператор выбора 
      Оператор For - Next 
      Оператор For Each 
      Оператор While - Wend 
      Оператор Do - Loop 
      Оператор безусловного перехода GoTo 
   Процедура 
      Организация программы на языке VBA 
      Вызов процедуры 
      Процедура с необязательными параметрами 
      Назначение необязательным параметрам 
      значения по умолчанию 
      Использование неопределенного количества 
      параметров 
      Использование массива в качестве 
      параметра процедуры 
      Передача параметров по ссылке и значению 
      Рекурсивные процедуры 
      Фракталы 
      Используя рекурсию, будьте осторожны 
 
 Глава 4. Диаграммы 
   Построение шаблона отчета с диаграммой 
   Объекты Chart и ChartObject 
      Свойства объекта Chart 
      Методы объекта Chart 
      Изменение диапазона, по которому 
      строится диаграмма и элемент управления 
      Список 
      Изменение типа диаграммы и 
      многостолбцовый элемент управления 
      Список 
      Автоматическое определение диапазона, по 
      которому строится диаграмма 
      Линия тренда 
   Метод Chart Wizard 
      Построение поверхности и управление ее 
      ориентацией 
   Печать элементов управления 
 
 Глава 5. Форма и элементы управления 
   Форма 
      Семейство форм 
      Свойства формы 
      Методы формы 
      События формы 
      Инструкции Load, Unload и End 
      Ключевое слово Me 
      Процедуры обработки событий 
      Два примера формы 
   Элементы управления 
      Общие свойства элементов управления 
      Соглашения об именах 
      Общие методы элементов управления 
      Общие события элементов управления 
   Кнопка (Command Button) 
   Поле (TextBox) 
   Надпись (Label) 
   Переключатель (Option Button) 
   Рамка (Frame) 
      Приложение Расчет амортизации и 
      управление видимостью элементов 
      управления 
   Флажок (CheckBox) и Выключатель (Toggle 
   Button) 
   Полоса прокрутки (ScrollBar) и Счетчик 
   (SpinButton) 
      Усовершенствованный Подбор параметра 
   Список (ListBox) 
      Заполнение списка 
      Амортизация линейная и двухкратного 
      учета 
      Выбор нескольких элементов из списка 
   Поле со списком (ComboBox) 
      Заполнение таблицы базы данных 
      Поле со списком, ввод данных в 
      алфавитном порядке и объект Collection 
      Добавление и удаление данных в поле со 
      списком 
   Рисунок (Image) 
      Приложение Бегающий шар 
      Приложение Плавающие часы и имя 
      Модифицированный Мастер диаграмм 
   Набор страниц (MultiPage) 
      Еще одна модификация Мастер диаграмм 
   Набор вкладок (TabStrip) 
   Последовательность перехода элементов 
   управления 
   Отображение встроенных диалоговых окон 
   Дополнительные элементы управления 
      Пример дополнительного элемента 
      управления - Календарь 
      Приложение Заказ и определение элемента 
      управления, на котором был фокус 
   Использование нескольких форм в приложении 
 
 Глава 6. Обработка данных 
   Консолидация рабочих листов 
      Процесс консолидации 
      Метод Consolidate объекта Range 
      Пример приложения, консолидирующего 
      данные 
   Сортировка данных 
      Описание процесса сортировки 
      Метод Sort 
      Пример приложения, сортирующего данные 
   Использование Автофильтра 
      Описание процесса автофильтрации 
      Метод AutoFilfer 
      Примеры приложения, фильтрующего данные 
   Промежуточные итоги 
      Описание процесса создания промежуточных 
      итогов 
      Метод Subtotal 
      Объект Outline 
      Пример приложения, подводящего 
      промежуточные итоги и управляющего 
      структурой 
   Сводная таблица 
      Описание процесса создания сводной 
      таблицы 
      Объект PivotTable 
      Метод PivotCaches и объект PivotCache 
      Метод PivotTableWizard 
      Объекты PivotTable и PivofField 
      Пример построения сводной таблицы на 
      основе списка Microsoft Excel 
      Описание процесса консолидации данных 
      при помощи сводной таблицы 
      Пример автоматизации построения и 
      обновления консолидирующей сводной 
      таблицы 
      Группировка полей сводной таблицы 
   Поиск решения 
      Решение транспортной задачи при помощи 
      Поиска решения 
      Функции, программирующие Поиск решения 
      Приложение Транспортная задача 
      Решение оптимизационных задач, зависящих 
      от параметра 
      Решение уравнения, зависящего от двух 
      параметров 
      Объект Scenario 
      Пример приложения по работе со 
      сценариями 
 
 Глава 7. Программирование панели инструментов 
 и создание справочной системы 
   Объект Command Bar и семейство CommandBars 
   Семейство CommandBarControls и объект 
   CommandBarControl 
      Пример создания панели инструментов 
      пользователя 
      Меню с раскрывающимся списком 
      Пример создания строки меню пользователя 
      Пример контекстного меню 
   Программирование Помощника Microsoft Office 
      Структура Помощника Microsoft Office 
      Типы Помощников Microsoft Office 
      Свойства объекта Assistant 
      Объект Balloon 
      Два примера программирования Помощника 
      Microsoft Office 
   Создание справочного файла 
      Создание файла содержания 
      Создание файла разделов 
      Создание файла проекта 
   Подключение контекстно-зависимой справки 
   при помощи метода Help 
   Подключение контекстно-зависимой справки 
   при помощи помощника Microsoft Office 
   Подключение контекстно-зависимой справки 
   при помощи панели инструментов 
   Защита VBA-проекта 
 
 Глава 8. Обработка ошибок и отладка программ 
   Разработка процедур, предотвращающих 
   появление ошибок 
   Контроль вводимых значений с помощью 
   обработки события Keypress 
   Перехват и обработка ошибок 
   Построчный перехват ошибок 
   Отладка программ 
      Ошибки компиляции 
      Ошибки выполнения 
      Логические ошибки 
      Инструкция Option Explicit 
      Пошаговое выполнение программ 
      Точка прерывания 
      Вывод значений свойств и переменных 
 
 Глава 9. Работа с базами данных и файлами 
   Microsoft Jet 
   DAO 
      Семейства объекта DBEngine 
      Объект Workspace 
      Объект Database 
   Порядок работы при объектном доступе к 
   данным 
      Создание рабочей области 
      Создание базы данных 
      Открытие базы (источника) данных 
      Объект Recordset 
      Создание объекта Recordset 
      Методы и свойства объекта Recordset 
      Пример приложения по работе с базами 
      данных 
      Применение баз данных при создании 
      интернациональных приложений 
   Функции по работе с файлами 
      Примеры использования функций по работе 
      с файлами 
      Инструкция Shell 
 
 Глава 10. Интеграция приложений 
   Использование технологии ActiveX Microsoft 
   Office 
   Связывание и внедрение объектов 
   Внедрение нового объекта 
   Внедрение существующего объекта 
   Использование Специальной вставки для 
   внедрения объектов 
   Семейство объектов OLEObjects 
   Средство Automation 
   Программные идентификаторы приложений - 
   серверов Automation 
   Функции доступа к объектам Automation 
   Создание нового документа Word функцией 
   Create Object 
   Открытие документа Word функцией GetObject 
   Управление объектами Word из Excel 
   Позднее и ранее связывание 
   Управление объектами Access из Excel 
   Управление объектами Excel из Access 
   Управление офисными приложениями из Visual 
   Basic 
   Поиск файлов и список ранее использованных 
   файлов 
 
 Глава 11. Разработка библиотечных компонентов 
   Общие сведения 
   Классификация библиотечных компонентов 
   Библиотечные файлы-шаблоны (XLT) 
   Библиотечные файлы-надстройки (XLA) 
      Важные свойства надстроек 
        Код надстроек полностью откомпилирован 
        Защита форм и модулей 
        Невозможность отключения макросов 
        Использование XLA-файла в качестве 
        исходного ресурса 
      Создание надстроек 
   Утилита указания границ расчетного периода 
   - эксплуатация 
      Файлы утилиты и их краткое описание 
      Расположение файлов утилиты 
      Подготовка к работе 
      Структура демонстрационного файла 
      Основная диалоговая форма tlPeriod 
      Дополнительные диалоговые формы tlPeriod 
      Возможности установки дат 
      Оптимизация клавиатурного ввода 
      Защита от ошибок, совершенных 
      пользователем 
      Структура файла tIPeriod.XLS 
      Возможности настройки 
      Подключение утилиты к прикладным 
      Excel/VBA-разработкам 
        Вызов основной подпрограммы 
        Организация ссылок на основные ячейки 
        рабочего листа Period 
        Сохранение установленных значений и 
        параметры, передаваемые в основную 
        процедуру/функцию при вызове 
   Утилита указания границ расчетного периода: 
   внутреннее устройство 
      Разделение утилиты на два файла 
      Служебные рабочие листы файла 
      tIPeriod.XLS 
      Использование только встроенных функций 
      Ехсеl 
      "Самодостаточность" файла tlPeriod. XLS 
      Взаимодействие диалоговых форм и ячеек 
      рабочих листов 
      Состав VBA-проекта 
      Модуль General_Public 
        Глобальные ссылки 
        Использование функции DateAdd 
        Распределение сложности между 
        VBA-кодом и функциями рабочих листов 
      Основная диалоговая форма 
        Подготовка к работе 
        Подготовка к очередному предъявлению 
        Обработка изменений значений списков 
        Обработка события Click кнопок "минус" 
        и "плюс" 
        Обработка события Click кнопок Вчера, 
        Сегодня, Завтра 
        Обработка события Click кнопок Нач. 
        дата = кон. дата и Кон. дата = нач. 
        дата 
        Обработка события Click кнопок группы 
        "Установить границы расчетного 
        периода" (кроме кнопки "За последние") 
        Обработчики события Click кнопок ОК и 
        Отмена 
      Диалоговая форма UserForm_LessMore 
        Обработчики событий элементов формы 
        UserForm_LessMore 
      Диалоговая форма UserForm_LastPeriod 
   Функция определения доступности логического 
   диска 
 
 Глава 12. Классы 
   Классы и экземпляры 
   Создание модулей класса 
   Процедуры Property Let, Property Set и 
   Property Get 
   Пример создания класса Дробь 
   Гиперссылки 
      Добавление гиперссылок на документы 
      Office 
      Задание гиперссылки формулой 
      Объект Hyperlink 
 
 Приложение. Описание компакт-диска 
 Предметный указатель