В книге содержится краткий курс по языку программирования Visual Basic for Applications (VBA), используемого в качестве языка программирования в приложениях Microsoft Office (2000/2/3 и 2007). Книга предназначена для тех, кто в своей профессиональной деятельности часто использует приложения Microsoft Office и кому необходимо повысить эффективность работы с этими приложениями посредством автоматизации многих повторяющихся операций. Материала книги достаточно для изучения основ языка Visual Basic и создания как простых макросов, предназначенных для автоматизации рутинной повторяющейся работы с документами, электронными таблицами, диаграммами, презентациями и т.д., так и для разработки довольно сложных приложений обработки данных с использованием диалоговых окон, обеспечивающих пользователей самыми современными интерфейсными средствами для работы с Windows-приложениями.
Введение
Глава 1. Введение в макросы
Из истории VBA
Для чего нужен язык программирования VBA
Создание макросов
Создание макроса в Word
Запись новых макросов
Запись макроса в Word
Запись макроса в Excel
Запись действий
Код макроса
Выполнение макросов
Сохранение документа с записанным макросом
Глава 2. Редактирование макросов
Модули
Модули в Word
Редактор Visual Basic
Панели инструментов Редактора VB
Редактирование макросов
Составные части записанного макроса
Написание новых макросов и процедур
Глава 3. Типы данных, переменные, константы и выражения
Экспоненциальное представление
Тип Date
Числа
Текстовые строки
Логические значения
Тип данных Variant
Переменные
Что такое переменная?
Выбор имен для переменных
Создание переменных
Задание типа данных переменной
Требование явного объявления переменных
Константы
Создание именованных констант
Область действия констант
Написание литеральных констант
Поиск имеющихся внутренних констант с помощью Object Browser
Получение данных от пользователя
Выражения в Visual Basic
Совместимость типов данных.
Преобразования численных типов
Арифметические операции
Сравнение строк
Сравнение объектов
Логические операторы
Конкатенация строк
Приоритеты выполнения операций при вычислении сложных выражений
Глава 4. Функции в Visual Basi
Использование функций в выражениях
Аргументы и возвращаемое значение функции
Игнорирование результата функции
Использование именованных аргументов функции
Использование других функций VBA
Математические функции
Функции преобразования данныхФункции даты и времени
Строковые функции
Использование функций для манипулирования строками
Удаление ненужных символов
Определение длины строки
Сравнение и поиск строк
Разбиение строки на меньшие части
Форматирование значений данных
Использование функций host-приложений
Создание функций и функций-процедур.
Использование функций-процедур в VBA
Использование функций пользователя в рабочих листах Excel
Создание функций для Excel
Глава 5. Изменение порядка выполнения операторов в VBA
Простой выбор
Использование необязательных аргументов
Выбор ветви с помощью If...Then...Else
Сложный выбор
Использование If...Then...Else
Безусловный переход
Использование MsgBox для обеспечения возможности выбора Дополнительные свойства процедур и функций
Раннее окончание процедур, функций и целых программ
Использование оператора Exit
Использование оператора End
Дополнительные свойства необязательных аргументов
Управление передачей аргументов
Передача аргументов по ссылке и по значению
Определение способа передачи аргумента
Рекурсия
Примеры рекурсивных функций
Как избежать случайной рекурсии и других проблем
Глава 6. Введение в объекты и коллекции
Объекты
Свойства объекта
Методы объекта
Классы объекта
Использование объектов
Объявление объектных переменных
Объекты в выражениях
Работа с коллекциями объектов и контейнерами объектов
Добавление объектов к коллекциям
Ссылка на конкретные объекты в коллекции или контейнере
Фигуры в слое векторной графики
Добавление к коллекции Shapes «автофигур»
Добавление к коллекции Shapes специальных фигур
Использование Object Browser для работы с объектами, методами и свойствами
Глава 7. Повторение действий в Visual Basic: циклы и массивы
Команды организации циклов
Повторение цикла фиксированное число раз: циклы For
Циклы Do
Как прервать выполнение макроса или процедуры
Использование циклов, тестирующих условия до выполнения тела цикла
Использование циклов, тестирующих условия после выполнения тела цикла
Вложенные циклы
Вложение циклов For
Вложенные циклы Do
Пример использования коллекции в Word
Массивы
Размерность массива
Статические и динамические массивы
Оператор Option Base
Объявление массивов
Использование массивов
Использование ReDim с динамическими массивами
Функции LBound и UBound
Использование Erase для очистки или удаления массивов
Использование массивов в качестве аргументов процедур и функций
Глава 8. Управление файлами с помощью VBA
Управление файлами
Что такое управление файлами
Возможности VBA по управлению файлами
Атрибуты файла
Получение атрибутов файла
Изменение атрибутов файла
Как находить файлы
Использование функции Dir для нахождения файлов
Использование встроенных диалоговых окон Excel для получения имен файлами
Использование метода GetOpenFilename
Использование метода GetSaveAsFilename
Использование встроенных диалоговых окон Word для получения имен файлов
Использование Word-диалогового окна Open
Использование Word-диалогового окна Сохранение документа
Копирование и удаление файлов
Копирование файлов
Удаление файла
Переименование или перемещение файлов
Получение информации о файлах
Получение времени и даты создания/модификации файла
Получение длины файла
Глава 9. Элементы диалоговых окон
Формы пользователя
Свойства объекта UserForm
Методы объекта UserForm
События и событийные процедуры
Примеры программ модуля класса формы
Элементы управления
Использование Toolbox (панели элементов)
Добавление к форме элементов управления
Редактирование элементов управления на форме
Копирование, вставка и удаление элементов управления
Редактирование или форматирование заголовков элементов управления
Управление последовательностью перехода
Задание свойств формы и элементов управления в режиме разработки
Использование дополнительных элементов управления
Глава 10. Управление host-приложениями VBA
Работа с Excel
Работа с объектами Worksheet
Методы, возвращающие объекты Range
Использование метода Cells
Работа с Cells и Ranges
Работа с объектами Word
Работа с объектами Document
Работа с объектами Template
Компоненты объекта Document
Как задать диапазон
Работа с объектом Selection
Как переместить или «свернуть» объекты Selection и Range
Добавление текста
Как вырезать, скопировать, вставить и удалить текст
Глава 11. Отладка VB-кода. Поиск и устранение ошибок
Типы ошибок
Средства отладки
Режимы отладки
Режим останова
Переход в режим останова из окна сообщения об ошибке
Точки останова
Использование оператора Stop
Переход в режим останова прерыванием исполнения кода
Выход из режима останова
Использование команды Step Over
Использование окна Locals
Трассировка вызовов процедур
Использование окна Immediate
Оператор Debug.Print
Оператор Debug.Assert
Обработчик ошибок
Выход из блока обработки прерывания по ошибке
Программная обработка ошибок при помощи оператора On Error
Приложение А. Операторы в VBA
AppActivate
Веер
Call
ChDir
ChDrive
Close
Синтаксис
Const
Date
Declare
Deftype
DeleteSetting
Stop
Sub
Time
Type
Unload
While...Wend
Width #
Wit
Write #
Приложение Б. Функции в VBA
Abs
Array
11 Asc
Atn
CallByName
Функции преобразования типо
Choose
Chr
Cos
CreateObject
CurDir
CVErr
Date
DateAdd
EOF
Error
Exp
FileAttr FileLen
Filter
Fi
Format
FormatCurrency
FormatDateTime
FormatNumFileDateTimeber
FormatPercent FreeFile
FV
GetAllSettings
GetAttr GetObject