- •Что такое Visual Basic for Applications
- •Автоматизация среды Excel
- •Запись простого макроса
- •Выполнение макросов
- •Просмотр кода макроса
- •Редактирование кода макроса
- •Ограниченность макросов
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Назначение макросам комбинаций клавиш
- •Где хранить макросы
- •Создание личной книги макросов
- •Сохранение макросов в личной книге макросов
- •Выполнение макросов из личной книги макросов
- •Редактирование макросов в личной книге макросов
- •Удаление макросов из личной книги макросов
- •Назначение макросов командным кнопкам
- •Назначение макроса графическим изображениям
- •Назначение макросов кнопкам панелей инструментов
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Введение в процесс разработки приложений
- •Кто будет использовать приложение
- •Откуда будут поступать данные для приложения
- •Где и как будут храниться данные, полученные с помощью приложения
- •Как данные будут обрабатываться приложением
- •Вид выходных данных
- •Типы элементов управления
- •Вставка элементов управления в рабочий лист
- •Форматирование элементов управления
- •Имена элементов управления
- •Экранные формы
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Модуль: дом для кода vba
- •Обзор процедур
- •Создание процедур
- •Выполнение процедуры
- •Сохранение изменений в модуле
- •Переменные
- •Типы данных
- •Объявление переменных
- •Соглашения об именах переменных
- •Массивы
- •Присвоение значений переменным
- •Использование констант
- •Область видимости переменных и констант
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Функция MsgBox
- •Функция InputBox
- •Метод InputBox
- •Именование аргументов
- •Объединение текстовых строк
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Управление выполнением приложения
- •Оператор If
- •Оператор Select Case
- •Использование встроенных диалоговых окон Excel
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Оператор For…Next
- •Оператор Do... Loop
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Что такое объект
- •Объекты, свойства и методы
- •Объектная модель Excel
- •Пять наиболее часто используемых объектов
- •Как понимать иерархию объектной модели
- •Ссылка на объекты в коде vba
- •Работа с объектами
- •Задание свойств объекта
- •Использование методов
- •Справочная информация о свойствах и методах
- •Переменные-объекты
- •1: Sub ПримерПеремОбъекта()
- •Коллекции
- •Метод Add
- •Свойство Count
- •1: Sub КоличРабЛистов()
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Объект Application
- •Использование встроенных функций Excel
- •Свойства и методы объекта Application
- •Объект Workbook
- •Объект Worksheet
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Описание объекта Range
- •Свойства объекта Range
- •Методы объекта Range
- •Использование оператора With
- •Оператор For Each
- •Использование объекта Range
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Панели инструментов
- •Просмотр кода
- •Использование справочной системы
- •Просмотр объектов
- •Параметры редактора Visual Basic
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Тестирование и отладка как этап разработки приложений
- •Отладка
- •Режим останова
- •Использование окна Immediate
- •Просмотр значений в окне Immediate
- •Пошаговое выполнение программ
- •Наблюдение за переменными
- •Исправление ошибок
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Понятие об обработке ошибок
- •Перехват ошибок
- •Написание процедуры обработки ошибся
- •Выход из обработчика ошибок
- •Пример обработчика ошибок
- •Централизованный обработчик ошибок
- •Вопрос и ответы
- •Практикум
- •Упражнение
- •Вставка экранных форм в приложения
- •Свойства экранной формы
- •Выполнение экранной формы
- •Вставка элементов управления в экранную форму
- •Свойства элементов управления
- •Свойства командных кнопок
- •Свойства переключателей
- •Блокировка элементов управления
- •Экранные подсказки к элементам управления
- •Задание порядка обхода элементов формы
- •Назначение быстрых клавиш элементам формы
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Инициализация значений экранной формы
- •Вызов экранной формы
- •Управление поведением формы
- •Проверка вводимых данных
- •Сохранение данных, введенных в форму
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Настройка панелей инструментов
- •Создание панелей инструментов
- •Процедуры, управляющие панелями инструментов
- •Создание панели инструментов
- •Удаление панели инструментов
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Способы изменения меню
- •Программная работа с меню
- •Добавление пунктов и команд меню
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Создание диаграмм
- •Запись макроса построения диаграмм
- •Код макроса
- •Изменение кода макроса
- •Усовершенствованная процедура построения диаграмм
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Работа со сводной таблицей
- •Основы сводных таблиц
- •Запись макроса для создания сводной таблицы
- •Исследование кода макроса
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Базы данных, доступные из Excel
- •Средства доступа к внешним данным
- •Использование ms Query
- •Код записанного макроса
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Что такое ado
- •Объекты доступа к базам данных
- •Использование ado
- •Создание ссылки на библиотеку ado
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Вставка полей в экранную форму
- •Перемещение по записям
- •Редактирование данных
- •Добавление средства поиска
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Что такое автоматизация
- •Основы автоматизации
- •Ссылка на библиотеку объектов приложения-сервера
- •Просмотр библиотеки объектов
- •Создание экземпляра приложения-сервера
- •Использование объектов Microsoft Word
- •Вопросы и ответы
- •Практикум
- •Упражнение
- •Автоматическое выполнение процедур
- •Процедуры, выполняемые при наступлении событий
- •Создание надстроек Excel
- •Упражнение
- •Приложение. Ответы Ответы к 1-му часу Тесты
- •Ответы ко 2-му часу Тесты
- •Ответы к 3-му часу Тесты
- •Ответы к 4-му часу Тесты
- •Упражнение
- •Ответы к 5-му часу Тесты
- •Упражнение
- •Ответы к 6-му часу Тесты
- •Упражнение
- •Ответы к 7-му часу Тесты
- •Упражнение
- •Ответы к 8-му часу Тесты
- •Упражнение
- •Ответы к 9-му часу Тесты
- •Упражнение
- •Ответы к 10-му часу Тесты
- •Упражнение
- •Ответы к 11-му часу Тесты
- •Упражнение
- •Ответы к 12-му часу Тесты
- •Упражнение
- •Ответы к 13-му часу Тесты
- •Упражнение
- •Ответы к 14-му часу Тесты
- •Ответы к 15-му часу Тесты
- •Упражнение
- •Ответы к 16-му часу Тесты
- •Упражнение
- •Ответы к 17-му часу Тесты
- •Упражнение
- •Ответы к 18-му часу Тесты
- •Упражнение
- •Ответы к 19-му часу Тесты
- •Упражнение
- •Ответы к 20-му часу Тесты
- •Упражнение
- •Ответы к 21-му часу Тесты
- •Упражнение
- •Ответы к 22-му часу Тесты
- •Упражнение
- •Ответы к 23-му часу Тесты
- •Упражнение
- •Ответы к 24-му часу Тесты
- •Упражнение
Экранные формы
Если вы действительно хотите придать разрабатываемому приложению профессиональный вид или хотите облегчить будущему пользователю процесс ввода данных, то вам необходимо воспользоваться экранными формами. Экранные формы "работают" как обычные диалоговые окна. Элементы управления встраиваются в экранную форму точно так же, как и в рабочий лист. Но первым шагом на пути использования экранных форм является вставка самой экранной формы в ваше приложение. Для этого выполните следующие действия.
-
Откройте новую рабочую книгу.
-
Выполните команду Сервис > Макрос > Редактор Visual Basic. Откроется окно редактора Visual Basic.
-
3. Щелкните на кнопке Insert UserForm панели инструментов окна редактора Visual Basic или выполните команду Insert > UserForm (Вставка > Экранная форма). Появится новая экранная форма, как на рис. 3.13.
Созданная экранная форма имеет по умолчанию строку заголовка с заголовком UserForm1. Сетка на макете формы помогает размещению элементов управления, при отображении формы в приложении сетка не видна.
При создании экранной формы автоматически отображается панель инструментов Панель элементов (рис. 3.14). На этой панели вы найдете уже знакомые вам элементы управления: надпись, флажок, переключатель и командная кнопка, а также несколько новых элементов.
Выключатель (toggle button) - кнопка, которая остается нажатой после щелчка на ней, и возвращается в исходное состояние после повторного щелчка. Некоторые знакомые вам кнопки панелей инструментов Excel работают как переключатели, например кнопка Полужирный панели инструментов форматирования. Кнопка Полужирный запоминает щелчок на ней - она приобретает вид нажатой кнопки. Повторный щелчок на ней возвращает кнопку в исходное состояние.
Рис. 3.13. Экранная форма - заготовка для создания окна разрабатываемого приложения
Набор вкладок (TabStrip) - элемент управления, который содержит одну или несколько вкладок. Этот элемент используется для организации в группы связанной информации. Например, можно применить набор вкладок для показа информации, относящейся к конкретным регионам (на каждой вкладке - отдельный регион). По умолчанию набор вкладок содержит две вкладки, помеченные как Таb1 и Таb2. При необходимости можно добавить новые или удалить ненужные вкладки.
Набор страниц (MultiPage) - этот элемент управления внешне похож на набор вкладок и также содержит одну или несколько страниц. Отличие между ними заключается в том, что страницы являются формами, содержащими собственные элементы управления (включая наборы вкладок), которые можно отформатировать всеми средствами форматирования экранных форм. Хорошим примером набора страниц в Excel является диалоговое окно Параметры (открывается с помощью команды Сервис > Параметры).
Рис. 3.14. Панель элементов содержит элементы управления, которые можно использовать в экранной форме.
Элемент управления Рисунок (Image) позволяет вставлять графические элементы в экранные формы. С помощью этого элемента можно вставлять изображения из графических файлов следующих типов:
-
.bmp
-
.cur
-
.gif
-
.ico
-
.jpg
-
.wmf
Последний элемент управления на панели элементов - Поле со свертыванием (RefEdit). Этот элемент похож на обычное поле ввода, но имеет кнопку с правой стороны поля, которая сворачивает экранную форму, что позволяет легко выбрать любой диапазон ячеек на рабочем листе. На рис. 3.15 показана форма, содержащая поле со свертыванием. На рис. 3.16 представлена та же форма после щелчка на кнопке свертывания. Вы встречались с такими полями и такими кнопками свертывания окон, например, при вставке функций в формулы.
Процесс вставки элементов управления в экранную форму ничем не отличается от процесса вставки элементов управления в рабочий лист. В экранной форме можно также перемещать или изменять размеры элементов управления. Кроме того, можно изменить размеры и самой экранной формы, перетащив ее маркеры изменения размеров.
После успешного завершения разработки экранной формы можно просмотреть в действии полученный результат с помощью команды Run > Run Sub/UserForm (Выполнить > Выполнить процедуру/экранную форму). Форма отобразится поверх текущей рабочей книги (рис. 3.17). Щелчок на кнопке Закрыть (находится в верхнем правом углу формы) закроет экранную форму и возвратит вас в редактор Visual Basic. В последующих главах этой книги мы подробно рассмотрим применение экранных форм.
Другой путь выполнения экранной формы - нажатие клавиши <F5>.
Рис. 3.15. Поле со свертыванием широко применяется в диалоговых окнах Excel, где необходимо задавать ячейки или диапазоны ячеек
Рис. 3.16. Свернутая экранная форма
Рис. 3.17. Выполнение экранной формы дает представление о том, как эта форма будет выглядеть в приложении
Резюме
После этого часа вы имеете хорошую основу для начала разработки интерфейса любого приложения. Вы узнали, как вставлять элементы управления в рабочий лист, и познакомились с экранными формами.
Теперь вы готовы приступить к программированию!