excel 2013 power programming with · pdf fileКоманды редактора vba 29 ......
TRANSCRIPT
Содержание
Об авторе 25
Введение 27О чем эта книга 27Что необходимо знать 27Что вам понадобится 28Соглашения, принятые в этой книге 28
Команды Excel 28Команды редактора VBA 29Клавиатура 29Соглашения, относящиеся к мыши 30
Пиктограммы, используемые в книге 30Структура книги 30
Часть I. Введение в Excel 30Часть II. Visual Basic for Applications 31Часть III. Пользовательские формы 31Часть IV. Профессиональные методики программирования 31Часть V. Разработка приложений 31Часть VI. Дополнительные темы 31Часть VII. Приложения 31
О сайте книги 32О пакете Power Utility Pak 32Как пользоваться этой книгой 32Ждем ваших отзывов! 32
Часть I. Введение в Excel 33
Глава 1. Знакомство с Excel 35Объектное мышление 36
Рабочие книги 36Рабочие листы 37Листы диаграмм 38Листы макросов XLM 38Диалоговые листы Excel 5/95 39
Интерфейс пользователя Excel 39Знакомство с лентой 41Панель быстрого доступа 44
Excel 2013 Power Programming with VBA.indb 6Excel 2013 Power Programming with VBA.indb 6 08.04.2014 13:04:5208.04.2014 13:04:52
Содержание 7
Контекстные меню и мини-панель инструментов 47Диалоговые окна 47Область задач 49Комбинации клавиш 49
Ввод данных 50Формулы, функции и имена 51Выделение объектов 52Форматирование 53Параметры защиты 55
Защита формул от перезаписи 55Защита структуры рабочей книги 56Защита книги с помощью пароля 56Защита VBA-кода с помощью пароля 57
Диаграммы 58Фигуры и рисунки SmartArt 58Доступ к базам данных 59
Базы данных рабочих листов 59Внешние базы данных 60
Excel и Интернет 60Инструменты анализа 61Надстройки 63Макросы и программирование 63Файловые форматы 63Справочная система Excel 63
Глава 2. Работа с формулами 65О формулах 65Вычисление формул 66Ссылки на ячейки и диапазоны 67
Зачем нужны неотносительные ссылки 67О ссылках в стиле R1C1 69Ссылки на другие листы или рабочие книги 70
Использование имен 72Присвоение имен ячейкам и диапазонам 72Применение имен к существующим ссылкам 74Пересечение имен 74Присвоение имен столбцам и строкам 74Определение области действия 75Присвоение имен константам 75Присвоение имен формулам 76Присвоение имен объектам 77
Ошибки в формулах Excel 78Инструменты аудита Excel 79
Идентификация ячеек заданного типа 79Просмотр формул 80
Excel 2013 Power Programming with VBA.indb 7Excel 2013 Power Programming with VBA.indb 7 08.04.2014 13:04:5208.04.2014 13:04:52
Содержание8
Отслеживание связей между ячейками 82Отслеживание ошибок в формулах 84Устранение циклических ссылок 84Фоновая проверка ошибок 84Использование средства вычисления формул Excel 86
Формулы массивов 87Пример формулы массива 88Создание календаря с помощью формулы массива 89Достоинства и недостатки формул массивов 89
Подсчет и суммирование 90Примеры формул подсчета 91Примеры формул суммирования 92Другие инструменты подсчета 93
Формулы ссылок и массивов 93Работа со значениями даты и времени 95
Ввод значений даты и времени 95Использование дат до 1900 года 96
Создание мегаформул 97
Глава 3. Файлы Excel 101Запуск Excel 101Типы файлов 102
Форматы файлов Excel 103Форматы текстовых файлов 104Форматы файлов баз данных 105Другие форматы файлов 105
Совместимость между файлами Excel 107Защищенный просмотр 108Использование автоматического восстановления 109
Восстановление версий текущей книги 109Восстановление несохраненных документов 109Настройка автоматического восстановления 110
Работа с файлами шаблонов 110Просмотр шаблонов 110Создание шаблонов 110Создание шаблонов рабочих книг 112
Содержимое файла Excel 113Структура файла 113Почему файловый формат столь важен 116
Файл Offi ceUI 117Файл XLB 118Файлы надстроек 118Настройки Excel в системном реестре 119
Кратко о системном реестре 119Настройки Excel 120
Excel 2013 Power Programming with VBA.indb 8Excel 2013 Power Programming with VBA.indb 8 08.04.2014 13:04:5208.04.2014 13:04:52
Содержание 9
Глава 4. Основы разработки приложений электронных таблиц 123О приложениях электронных таблиц 123Этапы разработки приложения 124Идентификация потребностей пользователя 125Проектирование приложения с учетом потребностей пользователей 126Разработка удобного пользовательского интерфейса 128
Настройка ленты 128Настройка контекстных меню 129Комбинации клавиш 129Создание пользовательских диалоговых окон 130Использование элементов управления ActiveX на рабочем листе 131Фактическая разработка приложения 133
Работа с конечным пользователем 133Тестирование приложения 133Как сделать приложение отказоустойчивым 134Создавайте привлекательные и интуитивно понятные приложения 136Создание пользовательской справочной системы 138Документирование усилий, затраченных на разработку 138Распространение приложения среди пользователей 139Обновление приложения 139
Другие вопросы разработки приложений 140Версия Excel, установленная у пользователя 140Трудности, касающиеся поддержки языка 140Быстродействие системы 140Видеорежимы 141
Часть II. Visual Basic for Applications 143
Глава 5. Введение в Visual Basic for Applications 145Основы языка BASIC 145Обзор VBA 146
Объектные модели 146Сравнение VBA и XLM 146
Основы VBA 147Знакомство с редактором Visual Basic 149
Отображение вкладки Разработчик 149Запуск VBE 151Окно VBE 151
Работа с Project Explorer 152Добавление нового модуля VBA 154Удаление модуля VBA 154Экспорт и импорт объектов 154
Работа с окнами кода 155Сворачивание и восстановление окон 155Сохранение кода VBA 155
Excel 2013 Power Programming with VBA.indb 9Excel 2013 Power Programming with VBA.indb 9 08.04.2014 13:04:5308.04.2014 13:04:53
Содержание10
Ввод кода VBA 156Настройка среды VBE 162
Вкладка Editor 162Вкладка Editor Format 165Вкладка General 166Вкладка Docking 167
Средство записи макросов 168Что создает средство записи макросов 168Абсолютный или относительный 169Параметры записи макроса 172Улучшение записанных макросов 173
Объекты и коллекции 175Иерархия объектов 175О коллекциях 175Ссылки на объекты 176
Свойства и методы 177Свойства объекта 177Методы объекта 179
Практикум по объекту Comment 179Справка по объекту Comment 179Свойства объекта Comment 181Методы объекта Comment 181Коллекция Comments 182О свойстве Comment 183Объекты, вложенные в Comment 183Содержит ли ячейка примечание 184Добавление нового объекта Comment 185
Некоторые полезные свойства объекта Application 185Объекты Range 187
Свойство Range 187Свойство Cells 189Свойство Offset 191
Что следует знать об объектах 193Важные концепции 193Узнайте больше об объектах и свойствах 194Экспериментируйте с окном отладки 196
Глава 6. Основы программирования на VBA 197Обзор элементов и конструкций VBA 197Комментарии 200Переменные, типы данных и константы 201
Определение типов данных 202Объявление переменных 204Область действия переменной 207
Excel 2013 Power Programming with VBA.indb 10Excel 2013 Power Programming with VBA.indb 10 08.04.2014 13:04:5308.04.2014 13:04:53
Содержание 11
Использование констант 210Управление строками 212Работа с датами 212
Операторы присваивания 213Массивы 216
Объявление массивов 216Объявление многомерных массивов 216Объявление динамических массивов 217
Объектные переменные 217Пользовательские типы данных 218Встроенные функции 219Управление объектами и коллекциями 222
Конструкция With-End With 222Конструкция For Each-Next 223
Контроль за выполнением кода 225Операторы GoTo 225Конструкция If-Then 226Конструкция Select Case 230Циклическая обработка инструкций 232
Глава 7. Работа с процедурами VBA 241О процедурах 241
Объявление процедуры 242Область действия процедуры 243
Выполнение процедуры Sub 244Выполнение процедуры с помощью команды Run Sub/UserForm 244Выполнение процедуры в диалоговом окне Макрос 245Выполнение процедуры с помощью комбинации клавиш 245Выполнение процедуры с помощью ленты 246Выполнение процедуры из пользовательского контекстного меню 247Выполнение процедуры из другой процедуры 247Выполнение процедуры по щелчку на объекте 251Выполнение процедуры по событию 252Выполнение процедуры в окне отладки 253
Передача аргументов процедурам 253Обработка ошибок 257
Перехват ошибок 257Примеры обработки ошибок 259
Реальный пример 261Цель 262Требования к проекту 262Исходные данные 262Подход 263Что необходимо знать 263Некоторые предварительные соображения 263
Excel 2013 Power Programming with VBA.indb 11Excel 2013 Power Programming with VBA.indb 11 08.04.2014 13:04:5308.04.2014 13:04:53
Содержание12
Подготовка 265Написание кода 266Создание процедуры сортировки 267Дополнительное тестирование 271Устранение проблем 271Доступность 275Оценка проекта 276
Глава 8. Создание функций 277Процедуры и функции 277Назначение пользовательских функций 278Простой пример функции 278
Использование функции на рабочем листе 279Использование функции в процедуре VBA 280Анализ пользовательской функции 280
Синтаксис функции 283Область действия функции 284Выполнение функций 284
Аргументы функций 288Примеры функций 288
Функции без аргументов 288Функция с одним аргументом 291Функция с двумя аргументами 293Функция с аргументом в виде массива 294Функция с необязательными аргументами 295Функция VBA, возвращающая массив 296Функция, возвращающая значение ошибки 299Функция с неопределенным количеством аргументов 300
Имитация функции Excel СУММ 301“Продвинутые” функции для работы с датами 304Отладка функций 306Работа с диалоговым окном Вставка функции 307
Использование метода MacroOptions 308Указание категории функции 310Добавление описания функции вручную 311
Использование надстроек для хранения пользовательских функций 311Использование функций Windows API 312
Примеры функций Windows API 312Идентификация папки Windows 313Определение состояния клавиши <Shift> 314Дополнительная информация о функциях Windows API 315
Глава 9. Приемы и методы программирования на VBA 317Учимся на примерах 317Работа с диапазонами 318
Excel 2013 Power Programming with VBA.indb 12Excel 2013 Power Programming with VBA.indb 12 08.04.2014 13:04:5308.04.2014 13:04:53
Содержание 13
Копирование диапазона 318Перемещение диапазона 319Копирование диапазона переменного размера 320Выделение либо идентификация диапазонов различного типа 321Изменение размеров диапазона 323Запрос значения ячейки 324Ввод значения в следующую пустую ячейку 325Приостановка работы макроса для определения диапазона пользователем 326Подсчет выделенных ячеек 328Идентификация типа выделенного диапазона 329Просмотр выделенного диапазона 330Удаление всех пустых строк 334Дублирование строк 334Определение диапазона, находящегося в другом диапазоне 336Идентификация типа данных ячейки 337Чтение и запись диапазонов 338Более быстрый способ записи в диапазон 339Перенос одномерных массивов 341Перенос диапазона в массив Variant 341Выбор ячеек по значению 342Копирование несмежных диапазонов 343
Управление рабочими книгами и листами 345Сохранение всех рабочих книг 345Сохранение и закрытие всех рабочих книг 346Частичное сокрытие элементов рабочего листа 346Создание содержания в форме списка гиперссылок 347Синхронизация рабочих книг 348
Приемы программирования на VBA 349Переключение значения булева свойства 349Отображение даты и времени 350Отображение времени в дружественном формате 351Отображение списка шрифтов 353Сортировка массива 353Обработка последовательности файлов 355
Полезные функции для программ VBA 357Функция FileExists 357Функция FileNameOnly 357Функция PathExists 358Функция RangeNameExists 358Функция SheetExists 359Функция WorkbookIsOpen 359Получение значения из закрытой рабочей книги 360
Полезные функции в формулах Excel 361Получение информации о форматировании ячейки 362
Excel 2013 Power Programming with VBA.indb 13Excel 2013 Power Programming with VBA.indb 13 08.04.2014 13:04:5408.04.2014 13:04:54
Содержание14
Говорящий рабочий лист 363Отображение даты сохранения файла или вывода файла на печать 363Основы иерархии объектов 364Подсчет количества ячеек между двумя значениями 365Идентификация последней непустой ячейки в столбце или в строке 366Соответствует ли строка шаблону 367Возвращение n-го элемента из строки 368Преобразование чисел в текст 369Универсальная функция 369Функция SHEETOFFSET 370Возвращение максимального значения среди всех рабочих листов 371Возвращение массива случайных целых чисел без повторов 372Распределение значений диапазона в случайном порядке 373Сортировка диапазона 375
Вызов функций Windows API 377Определение файловых ассоциаций 377Определение буквы диска 378Определение параметров стандартного принтера 378Определение текущего видеорежима 379Чтение и запись параметров системного реестра 380
Часть III. Пользовательские формы 383
Глава 10. Создание собственных диалоговых окон 385Подготовка к созданию диалоговых окон 385Использование окон ввода данных 386
Функция InputBox в VBA 386Метод Excel InputBox 388
Функция VBA MsgBox 391Метод Excel GetOpenFilename 395Метод Excel GetSaveAsFilename 398Получение имени папки 399Отображение диалоговых окон Excel 399Отображение формы ввода данных 401
Доступ к формам ввода данных 403Отображение формы ввода данных с помощью VBA 403
Глава 11. Работа с пользовательскими формами 405Пользовательские диалоговые окна в Excel 405Вставка новой формы UserForm 406
Добавление элементов управления в пользовательское диалоговое окно 407Элементы управления на панели Toolbox 407
CheckBox 407ComboBox 408CommandButton 408
Excel 2013 Power Programming with VBA.indb 14Excel 2013 Power Programming with VBA.indb 14 08.04.2014 13:04:5408.04.2014 13:04:54
Содержание 15
Frame 408Image 408Label 409ListBox 409MultiPage 409OptionButton 409RefEdit 409ScrollBar 409SpinButton 410TabStrip 410TextBox 410ToggleButton 410
Настройка элементов управления пользовательского диалогового окна 412Изменение свойств элементов управления 413
Использование окна Properties 413Общие свойства 415Советы по использованию клавиатуры 415
Отображение формы UserForm 417Настройка позиции отображения формы 418Отображение немодальной формы 418Отображение пользовательского диалогового окна на основе значения переменной 419Загрузка пользовательского диалогового окна 419О процедурах обработки событий 419
Закрытие пользовательского диалогового окна 419Пример создания пользовательского диалогового окна 421
Создание пользовательской формы 421Создание кода для отображения диалогового окна 423Тестирование диалогового окна 424Добавление процедур обработки событий 425Проверка правильности введенных данных 426Ура, заработало! 427
События объекта UserForm 427Получение дополнительных сведений о событиях 427События объекта UserForm 428События элемента управления SpinButton 429Совместное использование элементов управления SpinButton и TextBox 430
Ссылка на элементы управления пользовательского диалогового окна 433Настройка панели инструментов Toolbox 434
Добавление новых страниц 434Настройка или комбинирование элементов управления 434Добавление элементов управления ActiveX 436
Создание шаблонов диалоговых окон 437Инструкции по созданию диалогового окна 437
Excel 2013 Power Programming with VBA.indb 15Excel 2013 Power Programming with VBA.indb 15 08.04.2014 13:04:5408.04.2014 13:04:54
Содержание16
Глава 12. Примеры пользовательских форм 439Создание “меню” с помощью объекта UserForm 439
Использование элементов управления CommandButton 440Использование элемента управления ListBox 440
Выбор диапазона в пользовательской форме 441Создание заставки 443Отключение кнопки закрытия пользовательского диалогового окна 445Изменение размеров формы UserForm 446Масштабирование и прокрутка листа в пользовательском диалоговом окне 447Использование элемента управления ListBox 449
Добавление пунктов в список ListBox 450Идентификация выделенного пункта списка ListBox 454Идентификация нескольких выделенных пунктов списка ListBox 455Несколько списков в одном элементе управления ListBox 456Копирование пунктов списка ListBox 457Перемещение пунктов в списке ListBox 458Работа с многоколоночными элементами управления ListBox 459Использование элемента управления ListBox для выделения строк на листе 461Использование элемента управления ListBox для активизации листа 463
Применение элемента управления MultiPage 466Использование внешних элементов управления 467Анимация элемента управления Label 469
Глава 13. Дополнительные приемы работы с пользовательскими формами 473Немодальные диалоговые окна 474Отображение индикатора текущего состояния 477
Создание отдельного индикатора текущего состояния 478Отображение сведений о текущем состоянии с помощью элемента управления MultiPage 481Отображение индикатора текущего состояния без применения элемента управления MultiPage 484
Создание мастеров 485Настройка элемента управления MultiPage 486Добавление кнопок 486Программирование кнопок 487Программирование зависимостей 489Выполнение задачи 490
Имитация функции MsgBox 491Код функции MyMsgBox 492Как это работает 493Использование функции MyMsgBox 495
Диалоговое окно с перемещаемыми элементами управления 495Пользовательское диалоговое окно UserForm без строки заголовка 496Имитация панели инструментов с помощью формы UserForm 498
Excel 2013 Power Programming with VBA.indb 16Excel 2013 Power Programming with VBA.indb 16 08.04.2014 13:04:5408.04.2014 13:04:54
Содержание 17
Имитация области задач с помощью окна UserForm 500Пользовательское диалоговое окно UserForm с изменяемыми размерами 501Несколько кнопок с одной процедурой обработки событий 505Диалоговое окно выбора цвета 507Отображение диаграммы в пользовательском диалоговом окне UserForm 509
Сохранение диаграммы в виде GIF-файла 510Изменение свойства Picture элемента управления Image 510
Создание полупрозрачного окна UserForm 511Расширенная форма ввода данных 512
Подробнее о расширенной форме ввода данных 514Установка надстройки Enhanced Data Form 515
Игра в “пятнашки” 515Играем в видеопокер в окне UserForm 516
Часть IV. Профессиональные методики программирования 517
Глава 14. Разработка утилит Excel с помощью VBA 519Об утилитах Excel 519Разработка утилит с помощью VBA 520Признаки хорошей утилиты 521Утилита Text Tools 521
Зачем нужна утилита Text Tools 522Назначение проекта утилиты Text Tools 522Рабочая книга утилиты Text Tools 523Как работает утилита 524Пользовательская форма утилиты Text Tools 525Модуль Module1 526Модуль кода UserForm1 528Усовершенствование утилиты Text Tools 529Сохранение настроек утилиты Text Tools 531Отмена ранее выполненных действий 532Отображение файла справки 535Добавление кода RibbonX 535Оценка проекта 536Принципы работы утилиты Text Tools 537
Дополнительно об утилитах Excel 538
Глава 15. Работа со сводными таблицами 539Ознакомительный пример 539
Создание сводной таблицы 540Просмотр кода VBA 541Усовершенствование записанного кода сводной таблицы 542
Создание сложных сводных таблиц 545Код сводной таблицы 546Принцип работы сводной таблицы 547
Excel 2013 Power Programming with VBA.indb 17Excel 2013 Power Programming with VBA.indb 17 08.04.2014 13:04:5408.04.2014 13:04:54
Содержание18
Создание нескольких сводных таблиц 548Создание обратной сводной таблицы 552
Глава 16. Управление диаграммами 555Кратко о диаграммах 556
Расположение диаграмм 556Диаграммы и средство записи макросов 557Объектная модель диаграммы 557
Создание внедренной диаграммы 558Создание диаграммы на отдельном листе 560Изменение диаграмм 561Активизация диаграммы с помощью VBA 562Перемещение диаграммы 563Деактивизация диаграммы 564Идентификация активности диаграммы 564Удаление объектов из коллекции ChartObjects или Charts 565Циклический обход диаграмм 566Изменение размеров и выравнивание диаграмм 568Создание множества диаграмм 570Экспорт диаграммы 572
Экспорт всех изображений 572Изменение применяемых в диаграмме данных 573
Изменение данных диаграммы на основе активной ячейки 575Идентификация используемых в диаграмме диапазонов данных с помощью VBA 576
Отображение подписей данных на диаграмме 579Отображение диаграммы в пользовательском диалоговом окне 583События диаграмм 585
Пример использования событий объекта Chart 586Поддержка событий для внедренных диаграмм 589Пример использования событий объекта Chart во внедренной диаграмме 590
Приемы и трюки, используемые при создании диаграмм 592Печать внедренных диаграмм на всю страницу 592Отображение/сокрытие рядов данных 592Создание статической диаграммы 594Отображение подсказки с помощью события MouseOver 596
Анимирование диаграмм 598Прокрутка диаграммы 599Создание диаграммы с графиком гипоциклоиды 601Создание диаграммы часов 602
Создание интерактивной диаграммы без написания макросов 604Получение данных приложения 605Создание переключателей на рабочем листе 605Создание списка городов 605Создание диапазона данных для интерактивной диаграммы 606
Excel 2013 Power Programming with VBA.indb 18Excel 2013 Power Programming with VBA.indb 18 08.04.2014 13:04:5508.04.2014 13:04:55
Содержание 19
Создание интерактивной диаграммы 607Спарклайны 607
Глава 17. Концепция событий Excel 611Типы событий Excel 611
Последовательность событий 612Размещение процедур обработки событий 613Отключение событий 614Ввод кода процедуры обработки события 615Процедуры обработки событий, которые используют аргументы 616
События уровня объекта Workbook 618Событие Open 619Событие Activate 620Событие SheetActivate 620Событие NewSheet 620Событие BeforeSave 621Событие Deactivate 621Событие BeforePrint 622Событие BeforeClose 623
События объекта Worksheet 625Событие Change 625Событие SelectionChange 631Событие BeforeDoubleClick 632Событие BeforeRightClick 632
События объекта Chart 633События объекта Application 635
Включение событий уровня объекта Application 636Проверка факта открытия рабочей книги 636Отслеживание событий уровня объекта Application 637
События объекта UserForm 638События, не связанные с объектами 639
Событие OnTime 640Событие OnKey 641
Глава 18. Взаимодействие с другими приложениями 645Запуск другого приложения из Excel 645
Использование функции Shell 645Отображение окна папки 648Использование API-функции ShellExecute 648
Активизация другого приложения с помощью Excel 649Оператор AppActivate 649Активизация приложения Microsoft Office 650
Запуск диалоговых окон панели управления 650Применение автоматизации в Excel 652
Работа с внешними объектами с помощью автоматизации 652
Excel 2013 Power Programming with VBA.indb 19Excel 2013 Power Programming with VBA.indb 19 08.04.2014 13:04:5508.04.2014 13:04:55
Содержание20
Раннее и позднее связывание 652Простой пример позднего связывания 655Управление приложением Word из Excel 656Управление программой Excel из другого приложения 659
Отправка почтовых сообщений с помощью Outlook 661Отправка почтовых вложений с помощью Excel 664
Глава 19. Создание и использование надстроек 667Знакомство с надстройками 667
Надстройки и стандартные рабочие книги 668Зачем нужны надстройки 669
Использование диспетчера надстроек Excel 670Создание надстройки 672Пример разработки надстройки 673
Добавление описания в надстройку 674Создание надстройки 674Установка надстройки 676Тестирование надстройки 677Распространение надстройки 677Изменение надстройки 677
Файлы XLAM и XLSM 679Членство в коллекциях 679Отображение окон файлов XSLM и XLAM 679Рабочие листы и листы диаграмм в файлах XLSM и XLAM 680Получение доступа к VBA-процедурам надстройки 680
Управление надстройками с помощью кода VBA 684Добавление элемента в коллекцию AddIns 684Удаление элемента из коллекции AddIns 685Свойства объекта AddIn 686Получение доступа к надстройке как к рабочей книге 688События объекта AddIn 689
Оптимизация надстроек 689Проблемы, возникающие при использовании надстроек 690
Корректная установка надстроек 690Ссылки на другие файлы 692Указание корректной версии Excel 693
Часть V. Разработка приложений 695
Глава 20. Работа с лентой 697Начальные сведения о ленте 697Управление лентой с помощью VBA 701
Доступ к элементам управления на ленте 702Работа с лентой 703Активизация вкладки 705
Excel 2013 Power Programming with VBA.indb 20Excel 2013 Power Programming with VBA.indb 20 08.04.2014 13:04:5508.04.2014 13:04:55
Содержание 21
Настройка ленты 705Простой пример кода RibbonX 706Усовершенствование простого примера кода RibbonX 709Другой пример кода RibbonX 714Демонстрация возможностей элементов управления ленты 716Пример элемента управления DynamicMenu 723Некоторые замечания о настройке ленты 725
Создание традиционных панелей инструментов 726Ограничения, присущие традиционным панелям в Excel 2007 и более поздних версиях 727Код панели инструментов 727
Глава 21. Работа с контекстными меню 731Обзор объекта CommandBar 731
Типы объектов CommandBar 732Отображение контекстных меню 732Ссылки на объекты CommandBar 733Установка ссылок на элементы управления в объекте CommandBar 734Свойства элементов управления CommandBar 735Отображение всех элементов контекстного меню 736
Настройка контекстных меню с помощью VBA 738Особенности версии Excel 2013 738Сброс контекстных меню 740Отключение контекстного меню 741Отключение элементов контекстного меню 741Добавление нового элемента в контекстное меню Cell 742Добавление подменю в контекстное меню 743Ограничение контекстных меню единственной книгой 746
Контекстные меню и события 746Автоматическое добавление и удаление меню 746Отключение или сокрытие элементов контекстного меню 747Создание контекстного меню 747
Глава 22. Создание справки для приложений 751Справка в приложениях Excel 751Справочная система, созданная с помощью компонентов Excel 754
Использование примечаний к ячейке для предоставления справки 754Применение текстового поля для предоставления справки 755Использование рабочего листа для отображения справки 756Отображение справки в пользовательском диалоговом окне 758
Отображение справки в окне веб-браузера 761Использование HTML-файлов 761Использование файла MHTML 762
Использование средства HTML Help 762Метод Help 764
Excel 2013 Power Programming with VBA.indb 21Excel 2013 Power Programming with VBA.indb 21 08.04.2014 13:04:5508.04.2014 13:04:55
Содержание22
Связывание файлов справочного руководства с приложением 766Связывание раздела справочного руководства с функцией VBA 767
Глава 23. Разработка пользовательских приложений 769Что такое пользовательское приложение 769Мастер погашения по кредиту 769
Использование приложения 770Структура рабочей книги 771Как это работает 772
Концепции разработки приложений 779
Часть VI. Дополнительные темы 781
Глава 24. Вопросы совместимости 783Что такое совместимость 783Проблемы совместимости 784Избегайте использования новых средств 785Поддержка платформы Macintosh 787Использование 64-разрядной версии Excel 788Создание интернациональных приложений 789
Многоязычные приложения 791Язык в VBA 791Использование локализованных свойств 792Идентификация настроек системы 793Настройки даты и времени 795
Глава 25. Управление файлами с помощью VBA 797Часто выполняемые операции с файлами 797
Управление файлами с помощью функций VBA 798Использование объекта FileSystemObject 802
Отображение расширенной информации о файле 805Работа с текстовыми файлами 807
Открытие текстового файла 808Чтение текстового файла 809Запись в текстовый файл 809Получение номера файла 809Идентификация или установка позиции в файле 810Операторы чтения и записи в файл 810
Примеры управления текстовыми файлами 810Импорт данных из текстового файла 810Экспорт диапазона в текстовый файл 811Импорт текстового файла в диапазон 814Журнальная регистрация операций в Excel 815Фильтрация текстового файла 816Экспорт диапазона в формат HTML 816
Excel 2013 Power Programming with VBA.indb 22Excel 2013 Power Programming with VBA.indb 22 08.04.2014 13:04:5608.04.2014 13:04:56
Содержание 23
Экспорт диапазона в XML-файл 819Архивирование и разархивирование файлов 822
Архивирование файлов 822Разархивирование файла 824
Модель ADO 825
Глава 26. Управление компонентами Visual Basic 827Знакомство с IDE 827Объектная модель IDE 830
Коллекция VBProjects 830Отображение всех компонентов проекта VBA 832Отображение всех процедур VBA, содержащихся в рабочей книге 834Замещение модуля обновленной версией 835Программное создание кода VBA 837Добавление элементов управления в диалоговое окно UserForm на этапе разработки 838
Управление диалоговыми окнами UserForm на этапе разработки и этапе выполнения 839Добавление 100 элементов управления CommandButton на этапе разработки 840
Программное создание диалоговых окон UserForm 842Простой пример 842Более сложный пример 844
Глава 27. Принципы управления модулями классов 849Определение модуля класса 849Пример создания модуля класса NumLock 850
Вставка модуля класса 851Добавление кода VBA 851Использование модуля класса NumLockClass 853
Дополнительные сведения о модулях классов 854Программирование свойств объектов 854Программирование методов объектов 856События модуля класса 857
Модуль класса CSVFileClass 857Переменные уровня модуля класса 858Процедуры свойств 858Процедуры методов 858Использование объекта CSVFileClass 860
Глава 28. Работа с цветом 863Определение цвета 863
Цветовая модель RGB 864Цветовая модель HSL 864Преобразование цветов 865
Excel 2013 Power Programming with VBA.indb 23Excel 2013 Power Programming with VBA.indb 23 08.04.2014 13:04:5608.04.2014 13:04:56
Содержание24
Работа с оттенками серого 867Преобразование цветов в оттенки серого 867
Экспериментирование с цветами 869Темы документа 870
Знакомство с темами документа 870Цвета темы документа 871Отображение всех цветов темы 874
Работа с фигурами 876Фоновый цвет фигуры 876Фигуры и цвета темы 879
Изменение цветов диаграммы 880
Глава 29. Часто задаваемые вопросы о программировании в Excel 885Предмет рассмотрения данной главы 885Общие вопросы об Excel 886Редактор Visual Basic 891Процедуры 893Функции 897Объекты, свойства, методы и события 899Вопросы, связанные с обеспечением безопасности 907Пользовательские формы UserForm 908Надстройки 912Пользовательский интерфейс 914
Часть VII. Приложения 917
Приложение А. Справочник по операторам и функциям VBA 919Вызов функций Excel с помощью операторов VBA 922
Приложение Б. Коды ошибок VBA 929
Приложение В. Сайт книги 933
Предметный указатель 947
Excel 2013 Power Programming with VBA.indb 24Excel 2013 Power Programming with VBA.indb 24 08.04.2014 13:04:5608.04.2014 13:04:56