- •Что такое 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-му часу Тесты
- •Упражнение
Назначение быстрых клавиш элементам формы
Выполните еще раз нашу форму. Вам не кажется, что в ней чего-то не хватает? Пользователи, которые предпочитают работать с клавиатурой, а не с мышью, сразу заметят, что в названии элементов управления нет подчеркнутых букв. Другими словами, элементам не назначены быстрые клавиши, позволяющие выбирать элементы в любой последовательности, а не только в порядке их обхода с помощью клавиши <Таb>. Быстрые клавиши назначаются путем задания значения свойству Accelerator (Акселератор). В качестве значения этого свойства используются буквы, которые затем будут отображаться подчеркнутыми в названиях элементов управления (рис. 14.5).
Быстрые клавиши - комбинация клавиши с назначенной буквой и клавиши <Alt> для IBM-совместимых компьютеров или с клавишей <Command> для компьютеров Macintosh.
Резюме
В этом часе мы пока создали только "форму формы", разместив на экранной форме элементы управления и задав некоторые их свойства, Далее необходимо написать процедуры, которые бы управляли экранной формой, т.е. надо автоматизировать форму. Автоматизации экранных форм будет посвящен следующий час.
Вопросы и ответы
Вопрос. В чем преимущество экранных форм по сравнению со вставкой элементов управления непосредственно в рабочий лист?
Ответ. Обычно в рабочий лист вставляют небольшое количество элементы управления. Если необходимо использовать много элементов управления, то лучшим решением будет применение экранных форм. Кроме того, рабочий лист с элементами управления выглядит слишком "по-домашнему", а экранные формы - профессионально.
Вопрос. Сколько экранных форм можно поместить в приложение?
Ответ. Столько, сколько необходимо. Обычно, чем сложнее приложение, тем больше форм оно содержит.
Рис. 14.5. Теперь элементам управления назначены быстрые клавиши
Практикум
С помощью тестов и упражнений вы проверите, насколько хорошо усвоили изложенный материал. Ответы на вопросы смотрите в Приложении.
Тесты
-
Истинно или ложно следующее утверждение: сетка на экранной форме отображается и в редакторе Visual Basic, и при выполнении формы?
-
Какое свойство применяется для назначения быстрых клавиш элементу управления?
-
Как указать, какая командная кнопка должна "сработать" при нажатии клавиши <Enter>?
-
Какое значение какому свойству надо задать, чтобы переключатель был выбран по умолчанию?
-
Истинно или ложно следующее утверждение: выравнивание элементов управления требует задания значений свойств?
-
Что произойдет, если для командной кнопки вы установите значение True свойства Cancel?
-
Как задать порядок обхода элементов формы при нажатии клавиши <Таb>?
Упражнение
В качестве упражнения создайте форму, показанную на рис. 14.6. Имя формы frmSplash, значение свойства Caption - Добро пожаловать в наш отель! В табл. 14.2 приведены значения свойств используемых элементов управления.
Рис. 14.6. Создайте такую же форму в качестве упражнения
Таблица 14.2. Значения свойств
Элемент управления |
Имя |
Свойство Caption |
Другие свойства |
Надпись |
lblTitle |
Карточка гостевых расходов |
Шрифт размером 20 пунктов, TextAlign = fmTextAlignCenter |
Надпись |
lblCopyRight |
Авторское право за мной! |
ForeColor в синий цвет |
Командная кнопка |
cmdOK |
OK |
Default = True, Cancel = True |
Для задания параметров шрифта используется свойство Font (Шрифт).
15-й час. Автоматизация экранных форм
Перед автоматизацией экранных форм нужно выяснить для себя следующее. Первое, каким будет внешний вид формы при ее загрузке. Второе, надо описать поведение элементов управления, определить их доступность для пользователя. Кроме того, нужно продумать процедуру проверки корректности вводимых данных, а затем способ записи их в рабочий лист. Способам реализации этих задач посвящается текущий час, а в качестве "подопытного" материала будем использовать экранную форму, созданную в предыдущем часе.
В этом часе будут рассмотрены следующие вопросы.
-
Инициализация значений экранной формы.
-
Код VBA, используемый для отображения экранных форм.
-
Управление поведением элементов экранной формы.
-
Проверка вводимых данных.
-
Перемещение данных из формы в рабочий лист.