Главная » 2012»Ноябрь»3 » Excel 2010. Профессиональное программирование на VBA
21:27
Excel 2010. Профессиональное программирование на VBA
Изучите возможности языка VBA (Visual Basic for Applications), и вы получите в свое распоряжение практически безграничные ресурсы Microsoft Excel 2010. Джон Уокенбах, один из крупнейших специалистов в области электронных таблиц, щедро поделится с вами своими знаниями и поможет профессиональными советами, которыми буквально переполнена эта великолепная книга.
Название: Excel 2010. Профессиональное программирование на VBA Автор: Уокенбах Джон Издательство: Вильямс Год: 2012 Страниц: 920 Формат: PDF Размер: 58,0 МБ ISBN: 978-5-8459-1721-8 Качество: Отличное
Содержание:
Об авторе Введение Часть I. Введение в Excel Глава 1. Excel 2010: история программы Краткая история электронных таблиц Все начиналось с VisiCalc Lotus 1-2-3 Quattro Pro Microsoft Excel Современный рынок электронных таблиц Почему программа Excel так удобна разработчикам Место Excel в стратегии Microsoft Глава 2. Основные элементы Excel Объектное мышление Рабочие книги Рабочие листы Листы диаграмм Листы макросов XLM Диалоговые листы Excel 5/95 Пользовательский интерфейс Excel Лента Контекстные меню и мини-панель инструментов Диалоговые окна Комбинации клавиш Смарт-теги Область задач Настройка окна программы Ввод данных Формулы, функции и имена Выделение объектов Форматирование Параметры защиты Защита формул от перезаписи Защита структуры рабочей книги Защита книги с помощью пароля Защита VBA-кода с помощью пароля Диаграммы Фигуры и рисунки Smart Art Доступ к базам данных Базы данных рабочих листов Внешние базы данных Excel и Интернет Инструменты анализа Надстройки Макросы и программирование Файловые форматы Справочная система Excel Глава 3. Особенности формул О формулах Вычисление формул Ссылки на ячейки и диапазоны Зачем нужны неотносительные ссылки О ссылках в стиле R1С1 Ссылки на другие листы или рабочие книги Использование имен Присвоение имен ячейкам и диапазонам Применение имен к существующим ссылкам Пересечение имен Присвоение имен столбцам и строкам Определение области действия Присвоение имен константам Присвоение имен формулам Присвоение имен объектам Ошибки в формулах Excel Формулы массивов Пример формулы массива Создание календаря с помощью формулы массива Достоинства и недостатки формул массивов Подсчет и суммирование Примеры формул подсчета Примеры формул суммирования Другие инструменты подсчета Работа со значениями даты и времени Ввод значений даты и времени Использование дат до 1900 года Создание мегаформул Глава 4. Файлы Excel Запуск Excel Типы файлов Форматы файлов Excel Форматы текстовых файлов Форматы файлов баз данных Другие форматы файлов Работа с файлами шаблонов Просмотр шаблонов Создание шаблонов Создание шаблонов рабочих книг Содержимое файла Excel Структура файла Почему файловый формат столь важен Файл OfficeUI Файл XLB Файлы надстроек Настройки Excel в системном реестре Кратко о системном реестре Настройки Excel Часть II. Разработка приложений Excel Глава 5. Приложения электронных таблиц О приложениях электронных таблиц Разработчик и конечный пользователь Кто такие разработчики и чем они занимаются Классификация пользователей электронных таблиц Для кого предназначены приложения электронных таблиц Решение проблем с помощью Excel Основные типы электронных таблиц Электронные таблицы “на скорую руку” Электронные таблицы “не для посторонних глаз” Однопользовательские приложения Приложения-“спагетти” Приложения-утилиты Надстройки с функциями рабочих листов Одноблоковые бюджеты Модели “что если” Электронные таблицы для хранения данных и доступа к ним Клиентские приложения баз данных Приложения “под ключ” Глава 6. Принципы разработки приложений электронных таблиц Этапы разработки приложения Определение потребностей пользователя Проектирование приложения с учетом потребностей пользователя Определение удобного пользовательского интерфейса Настройка ленты Настройка контекстных меню Комбинации клавиш Создание пользовательских диалоговых окон Использование элементов управления ActiveX на рабочем листе Разработка собственно приложения Работа с конечным пользователем Тестирование приложения Как сделать приложение отказоустойчивым Создание привлекательных и интуитивно понятных приложений Создание пользовательской справочной системы Документирование усилий, затраченных на разработку Распространение приложения среди пользователей Обновление приложения Другие вопросы разработки приложений Версия Excel, установленная у пользователя Трудности, касающиеся поддержки языка Быстродействие системы Видеорежимы Часть III. Visual Basic for Applications Глава 7. Введение в VBA Основы языка BASIC Обзор VBA Объектные модели Сравнение VBA и XLM Основы VBA Знакомство с редактором Visual Basic Отображение вкладки Разработчик Запуск VBE Окно VBE Работа с Project Explorer Добавление нового модуля VBA Удаление модуля VBA Экспорт и импорт объектов Работа с окнами кода Сворачивание и восстановление окон Сохранение кода VBA Ввод кода VBA Настройка среды VBE Вкладка Editor Вкладка Editor Format Вкладка General Вкладка Docking Средство записи макросов Что записывается Абсолютный или относительный Параметры записи Улучшение записанных макросов Об объектах и коллекциях Иерархия объектов О коллекциях Ссылки на объекты Свойства и методы Методы объекта Объект Comment: пример использования Справочные сведения об объекте Comment Свойства объекта Comment Методы объекта Comment Коллекция Comments О свойстве Comment Объекты, вложенные в Comment Содержит ли ячейка примечание Добавление нового объекта Comment Некоторые полезные свойства объекта Арр1iсation Работа с объектами Range Свойство Range Свойство Cells Свойство Offset Что следует знать об объектах Важные концепции для запоминания Узнайте больше об объектах и свойствах Глава 8. Основы программирования на VBA Обзор элементов и конструкций VBA Комментарии Переменные, типы данных и константы Определение типов данных Объявление переменных Область действия переменной Работа с константами Управление строками Работа с датами Операторы присваивания Массивы Объявление массивов Объявление многомерных массивов Объявление динамических массивов Объектные переменные Пользовательские типы данных Встроенные функции Управление объектами и коллекциями Конструкция With - End With Конструкция For Each - Next Контроль за выполнением кода Оператор GoTo Конструкция If- Then Конструкция Select Case Циклическая обработка инструкций Глава 9. Работа с процедурами VBA О процедурах Объявление процедуры Sub Область действия процедуры Выполнение процедуры Выполнение процедуры с помощью команды Run Sub/UserForm Выполнение процедуры в диалоговом окне Макрос Выполнение процедуры с помощью комбинации клавиш Выполнение процедуры с помощью ленты Выполнение процедуры из пользовательского контекстного меню Выполнение процедуры из другой процедуры Выполнение процедуры по щелчку на объекте Выполнение процедуры по событию Выполнение процедуры в окне отладки Передача аргументов процедурам Обработка ошибок Перехват ошибок Примеры обработки ошибок Реальный пример Цель Требования к проекту Исходные данные Подход Что необходимо знать Некоторые предварительные соображения Подготовка Написание кода Создание процедуры сортировки Дополнительное тестирование Устранение проблем Доступность Оценка проекта Глава 10. Создание функций Процедуры и функции Назначение пользовательских функций Простой пример функции Использование функции на рабочем листе Использование функции в процедуре VBA Анализ пользовательской функции Синтаксис функции Область действия функции Выполнение функций Аргументы функций Примеры функций Функции без аргументов Функция с одним аргументом Функция с двумя аргументами Функция с аргументом в виде массива Функция с необязательными аргументами Функция VBA, возвращающая массив Функция, возвращающая значение ошибки Функция с неопределенным количеством аргументов Имитация функции СУММ Расширенные функции для работы с датами Отладка функций Работа с диалоговым окном Мастер функций Использование метода MacroOptions Определение категории функции Добавление описания функции вручную Использование надстроек для хранения пользовательских функций Использование функций Windows API Примеры функций Windows API Определение папки Windows Определение состояния клавиши Дополнительная информация о функциях Windows API Глава 11. Приемы и методы программирования на VBA Учимся на примерах Работа с диапазонами Копирование диапазона Перемещение диапазона Копирование диапазона переменного размера Выделение или определение типов диапазонов Запрос значения ячейки Ввод значения в следующую пустую ячейку Приостановка работы макроса для определения диапазона пользователем Подсчет выделенных ячеек Определение типа выделенного диапазона Просмотр выделенного диапазона Удаление всех пустых строк Дублирование строк Определение диапазона, находящегося в другом диапазоне Определение типа данных ячейки Чтение и запись диапазонов Более эффективный способ записи в диапазон Перенесение одномерных массивов Перенесение диапазона в массив типа Variant Выбор ячеек по значению Копирование несмежных диапазонов Управление рабочими книгами и листами Сохранение всех рабочих книг Сохранение и закрытие всех рабочих книг Частичное сокрытие элементов рабочего листа Синхронизация рабочих книг Методы программирования на VBA Переключение значения булева свойства Определение количества страниц для печати Отображение даты и времени Отображение списка шрифтов Сортировка массива Обработка последовательности файлов Полезные функции для программ VBA Функция FileExists Функция FileNameOnly Функция PathExists Функция RangeNameExists Функция Sheet Exists Функция WorkbookIsOpen Получение значения из закрытой рабочей книги Полезные функции в формулах Excel Получение информации о форматировании ячейки Беседа с рабочим листом Отображение даты сохранения файла или вывода файла на печать Основы иерархии объектов Подсчет количества ячеек между двумя значениями Определение последней непустой ячейки в столбце или в строке Соответствует ли строка шаблону Возвращение из строки n-го элемента Преобразование чисел в текст Универсальная функция Функция SheetOffset Возвращение максимального значения всех рабочих листов Возвращение массива случайных целых чисел без повторов Расположение значений диапазона в произвольном порядке Вызов функций Windows API Определение связей с файлами Определение буквы диска Определение параметров принтера по умолчанию Определение текущего видеорежима Добавление звука в приложение Чтение и запись параметров системного реестра Часть IV. Пользовательские формы Глава 12. Создание собственных диалоговых окон Перед созданием диалоговых окон Использование окон ввода данных Функция InputBox в VBA Метод Excel InputBox Функция VBA MsgBox Метод Excel GetOpenFilename Метод Excel GetsaveAsFi1ename Получение имени папки Отображение диалоговых окон Excel Отображение формы ввода данных Доступ к формам ввода данных Отображение формы ввода данных с помощью VBA Глава 13. Работа с пользовательскими формами Обработка пользовательских диалоговых окон в Excel Вставка новой формы UserForm Добавление элементов управления в пользовательское диалоговое окно Элементы управления в окне Toolbox Checkbox ComboBox CommandButton Frame Image Label ListBox MultiPage OptionButton RefEdit ScrollBar SpinButton TabStrip TextBox ToggleButton Настройка элементов управления пользовательского диалогового окна Изменение свойств элементов управления Работа с окном Properties Общие свойства Советы по использованию клавиатуры Отображение пользовательского диалогового окна Отображение немодальной формы Отображение пользовательского диалогового окна на основе значения переменной Загрузка пользовательского диалогового окна О процедурах обработки событий Закрытие пользовательского диалогового окна Пример создания пользовательского диалогового окна Создание пользовательской формы Создание кода для отображения диалогового окна Тестирование диалогового окна Добавление процедур обработки событий Проверка правильности введенных данных Ура, заработало! События объекта UserForm Получение дополнительных сведений о событиях События объекта UserForm События элемента управления SpinButton Совместное использование элементов управления SpinButton и TextBox Ссылка на элементы управления пользовательского диалогового окна Настройка панели инструментов Тoolbox Добавление новых страниц Настройка или комбинирование элементов управления Добавление элементов управления ActiveX Создание шаблонов диалоговых окон Вопросы для самоконтроля Глава 14. Примеры пользовательских форм Создание “меню” с помощью объекта UserForm Использование элементов управления CommandButton Использование элемента управления List Box Выбор диапазона в пользовательской форме Создание заставки Отключение кнопки закрытия пользовательского диалогового окна Изменение размера диалогового окна Масштабирование и прокрутка листа в пользовательском диалоговом окне Использование элемента управления ListBox Добавление опций в элемент управления ListBox Определение выделенного элемента списка Определение нескольких выделенных элементов списка Несколько списков в одном элементе управления ListBox Передача опций элемента управления ListBox Перемещение опций в списке элементов управления ListBox Работа с многоколоночными элементами управления ListBox Использование элемента управления ListBox для выделения строк на листе Использование элемента управления ListBox для активизации листа Применение элемента управления MultiPage Использование внешних элементов управления Анимация элемента управления Label Глава 15. Дополнительные приемы работы с пользовательскими формами Немодальные диалоговые окна Отображение индикатора текущего состояния Создание отдельного индикатора текущего состояния Отображение сведений о текущем состоянии с помощью элемента управления MultiPage Отображение индикатора текущего состояния без применения элемента управления MultiPage Создание мастеров Настройка элемента управления MultiPage Добавление кнопок Программирование кнопок Программирование зависимостей Выполнение задачи Имитация работы функции MsgBox Код функции MyMsgBox Как это работает Использование функции MyMsgBox Диалоговое окно UserForm с перемещаемыми элементами управления Диалоговое окно UserForm без строки заголовка Имитация панели инструментов с помощью диалогового окна UserForm Диалоговое окно UserForm с изменяемыми размерами Несколько кнопок с одной процедурой обработки событий Диалоговое окно выбора цвета Отображение диаграммы в пользовательском диалоговом окне UserForm Сохранение диаграммы в виде GIF-файла Изменение свойства Picture элемента управления Image Создание полупрозрачной формы ввода данных Расширенная форма ввода данных Подробнее о расширенной форме ввода данных Установка надстройки Enhanced Data Form Игра в “пятнашки” Играем в видеопокер в окне UserForm Часть V. Профессиональные методы программирования Глава 16. Разработка утилит Excel с помощью УВА Об утилитах Excel Создание утилит с помощью VBА Признаки хорошей утилиты Утилита Text Tools Обоснование Назначение проекта Рабочая книга утилиты Как работает утилита Пользовательская форма утилиты Модуль Modulel Модуль кода UserForml Повышение эффективности утилиты Сохранение настроек утилиты Отмена ранее выполненных действий Отображение файла справки Добавление кода RibbonX Оценка проекта Принципы работы утилиты Дополнительно об утилитах Excel Глава 17. Работа со сводными таблицами Вводный пример Создание сводной таблицы Просмотр созданного кода Усовершенствование записанного кода сводной таблицы Создание сложных сводных таблиц Код сводной таблицы Принцип работы сводной таблицы Создание нескольких сводных таблиц Создание обратной сводной таблицы Глава 18. Управление диаграммами Кратко о диаграммах Расположение диаграмм Диаграммы и функция записи макроса Объектная модель диаграммы Создание внедренной диаграммы Размещение диаграммы на листе диаграммы Активизация диаграммы с помощью кода VBA Перемещение диаграммы Деактивизация диаграммы Определение активности диаграммы Удаление объектов из коллекции ChartObjects или Charts Циклический просмотр диаграмм Изменение размеров и выравнивание диаграмм Экспорт диаграммы Экспорт всех изображений Изменение применяемых в диаграмме данных Изменение данных диаграммы на основе активной ячейки Определение используемых в диаграмме диапазонов данных с помощью VBA Отображение подписей для данных на диаграмме Отображение диаграммы в пользовательском диалоговом окне События диаграмм Пример использования событий объекта Chart Поддержка событий для встроенных диаграмм Пример использования событий объекта Chart во встроенной диаграмме Тонкости создания диаграмм Печать встроенных диаграмм на всю страницу Отображение/сокрытие рядов данных Создание фиксированной диаграммы Отображение подсказки Анимирование диаграмм Прокрутка диаграммы Создание диаграммы с графиком гипоциклоиды Создание диаграммы часов Создание интерактивной диаграммы без написания макросов Получение данных приложения Создание переключателей на рабочем листе Создание списка городов Создание диапазона данных для интерактивной диаграммы Создание интерактивной диаграммы Спарклайны Глава 19. Концепция событий Excel Типы событий Excel Понимание последовательности событий Размещение процедур обработки событий Отключение событий Ввод кода процедуры обработки события Процедуры обработки событий, которые используют аргументы События уровня объекта Workbook Событие Open Событие Activate Событие Sheet Activate Событие NewSheet Событие BeforeSave Событие Deactivate Событие BeforePrint Событие Bef oreClose События объекта Worksheet Событие Change Событие Sе1есtionChange Событие BeforeDoubleClick Событие BeforeRightClick События объекта Chart События объекта App1iсation Включение событий уровня объекта Application Определение факта открытия рабочей книги Отслеживание событий уровня объекта Application События объекта UserForm События, не связанные с объектами Событие OnTime Событие ОпКеу Глава 20. Взаимодействие с другими приложениями Запуск другого приложения из Excel Использование функции Shell Использование API-функции ShellExecute Активизация другого приложения с помощью Excel Инструкция АррАсtivatе Активизация приложения Microsoft Office Запуск аплетов папки Панель управления и мастеров Автоматизация Работа с внешними объектами Раннее и позднее связывание Простой пример позднего связывания Управление приложением Word из Excel Управление программой Excel из другого приложения Отправка почтовых сообщений с помощью Outlook Отправка почтовых вложений с помощью Excel Использование метода SendKeys Глава 21. Создание и использование надстроек Определение надстройки Сравнение надстройки со стандартной рабочей книгой Основные причины создания надстроек Использование диспетчера надстроек Excel Создание надстройки Пример надстройки Добавление описания в надстройку Формирование надстройки Установка надстройки Тестирование надстройки Распространение надстройки Изменение надстройки Сравнение файлов XLAM и XLSM Членство в коллекциях Отображение окон файлов XSLM и XLAM Рабочие листы и листы диаграмм в файлах XLSM и XLAM Получение доступа к VBA-процедурам надстройки Управление надстройками с помощью кода VBA Добавление элемента в коллекцию Addins Удаление элемента из коллекции Addins Свойства объекта Addin Получение доступа к надстройке как к рабочей книге События объекта Addin Оптимизация производительности надстроек Проблемы, связанные с использованием надстроек Правильная установка Ссылки на другие файлы Указание правильной версии Excel Часть VI. Разработка приложений Глава 22. Работа с лентой Начальные сведения о ленте Управление лентой с помощью VBA Доступ к элементам управления на ленте Как работать с лентой Активизация вкладки Настройка ленты Простой пример кода RibbonX Усовершенствование простого примера кода RibbonX Еще один пример кода RibbonX Демонстрация возможностей элементов управления ленты Пример элемента управления Dynami cMenu Некоторые замечания о настройке ленты Создание “старомодных” панелей инструментов Ограничения, присущие “старомодным” панелям в Excel 2010 Код панели инструментов Глава 23. Работа с контекстными меню Обзор объекта CommandBar Типы объектов CommandBar Отображение контекстных меню Ссылки на объекты CommandBar Установка ссылок на элементы управления в объекте CommandBar Свойства элементов управления CommandBar Отображение всех элементов контекстного меню Настройка контекстных меню с помощью VBA Сброс контекстных меню Отключение контекстного меню Отключение элементов контекстного меню Добавление нового элемента в контекстное меню ячейки Добавление подменю в контекстное меню Контекстные меню и события Автоматическое добавление и удаление меню Отключение или сокрытие элементов контекстного меню Создание нового контекстного меню Глава 24. Предоставление справки в приложениях Справка в приложениях Excel Диалоговая система Справочная система, созданная с помощью компонентов Excel Использование примечаний к ячейке для предоставления справки Применение текстового поля для предоставления справки Использование рабочего листа для отображения справки Отображение справки в пользовательском диалоговом окне Отображение справки в окне браузера Использование HTML-файлов Использование файла MHTML Использование средства HTML Help Метод Help Связывание файлов справочного руководства с приложением Связывание раздела справочного руководства с функцией VBA Глава 25. Разработка пользовательских приложений Что такое приложение, ориентированное на пользователя Мастер расчета займа Использование мастера Структура рабочей книги Как это работает Концепции разработки приложений Часть VII. Дополнительные темы Глава 26. Вопросы совместимости Концепция совместимости Проблемы совместимости Избегайте использования новых возможностей Поддержка платформы Macintosh Использование 64-разрядной версии Excel Создание интернациональных приложений Многоязычные приложения Язык в VBA Использование “локальных” свойств Идентификация настроек системы Параметры настройки даты и времени Глава 27. Управление файлами с помощью VBA Часто выполняемые операции с файлами Управление файлами с помощью функций VBA Использование объекта FileSystemObject Отображение расширенной информации о файле Работа с текстовыми файлами Открытие текстового файла Чтение текстового файла Запись в текстовый файл Получение номера файла Определение или установка позиции в файле Операторы чтения и записи в файл Примеры управления текстовыми файлами Импортирование данных из текстового файла Экспортирование диапазона в текстовый файл Импортирование текстового файла в диапазон Протоколирование операций в Excel Фильтрация текстового файла Экспортирование диапазона в формат HTML Экспортирование диапазона в XML-файл Архивирование и разархивирование файлов Архивирование файлов Разархивирование файла Модель ADO Глава 28. Управление компонентами Visual Basic Введение в IDE Объектная модель IDE Коллекция VBProjects Отображение всех компонентов проекта VBA Отображение всех процедур VBA, содержащихся в рабочей книге Замещение модуля обновленной версией Использование VBA для создания кода VBA Добавление элементов управления в диалоговое окно UserForm на этапе разработки Управление диалоговыми окнами UserForm на этапе разработки и этапе выполнения Добавление 100 элементов управления CommandButton на этапе разработки Программное создание диалоговых окон UserForm Простой пример Более сложный пример Глава 29. Модули классов Определение модуля класса Пример создания модуля класса Вставка модуля класса Добавление кода VBA Использование модуля класса NumLockClass Дополнительные сведения о модулях классов Программирование свойств объектов Программирование методов объектов События модуля класса Модуль класса CSVFileClass Переменные уровня модуля класса Процедуры свойств Процедуры методов Использование класса CSVFileClass Глава 30. Работа с цветом Определение цвета Цветовая модель RGB Цветовая модель HSL Преобразование цветов Оттенки серого Преобразование цветов в оттенки серого Просмотр диаграмм в оттенках серого Экспериментирование с цветами Темы документа Концепция темы документа Цвета темы документа Отображение всех цветов темы Работа с фигурами Фоновый цвет фигуры Фигуры и цвета темы Другие типы заливки фигур Изменение цветов диаграммы Глава 31. Часто задаваемые вопросы о программировании в Excel Списки часто задаваемых вопросов Общие вопросы об Excel Редактор Visual Basic Процедуры Функции Объекты, свойства, методы и события Пользовательские диалоговые окна Надстройки Пользовательский интерфейс Часть VIII. Приложения Приложение А. Интерактивные ресурсы Excel Справочная система Excel Техническая поддержка со стороны компании Microsoft Варианты поддержки База знаний Microsoft Начальная страница Microsoft Excel Начальная страница Microsoft Office Группы новостей Доступ к группам новостей с помощью программы чтения новостей Доступ к группам новостей с помощью браузера Поиск в группах новостей Веб-сайты The Spreadsheet Page Блог, посвященный Excel Сайт Йона Пелтиера Сайт Чипа Пирсона Сайт Contextures Блог Pointy Haired Dilbert Сайт Дейвида Макритчи Мистер Excel Приложение Б. Справочник по операторам и функциям VBA Вызов функций Excel с помощью операторов VBA Приложение В. Коды ошибок VBA Приложение Г. Содержимое компакт-диска Системные требования Использование компакт-диска Файлы и программы, находящиеся на компакт-диске Электронная версия книги Файлы примеров Решение проблем Предметный указатель