Знакомство с редактором Visual Basic for Application (VBA). Среда VBA

24.12.16
1
Знакомство с редактором Visual Basic for Application (VBA).
Среда VBA
Для вызова редактора VBA необходимо выполнить команду:
СервисМакросРедактор Visual Basic
либо щелкнуть правой клавишей мыши на ярлычке одного из
существующих листов и выбрать из контекстного меню:
Вставка Исходный текст (Alt+F11)
Редактор VBA предназначен для создания и редактирования
программного кода на языке VBA.
Строка меню основного окна Visual Basic содержит:
File которое позволяет создавать, открывать, сохранять, пе-
чатать проекты, добавлять новые, удалять и сохранять существую-
щие формы проекта, а также создавать *.ехе файлы.
Edit команды редактирования объектов. Они позволяют вы-
резать, копировать, вставлять, удалять, связывать объекты и т.д.
View служит для активизации необходимых окон.
Project служит для добавления новых форм, модульных лис-
тов, удаления ненужных форм, установления параметров проекта и
т.д.
Format служит для выбора другого набора инструментов для
компановки элементов управления на поле экранной формы.
Debug для отладки и редактирования программы
Run для проверки работоспособности программы, путем ее
выполнения.
Tools для установки различных режимов работы (опций).
Add-Ins для расширения программной оболочки Visual
Basic, путем предоставления дополнительных возможностей и
удобств.
Windows служит для изменения расположения окон проекта,
для переключения между окнами.
Help встроенная помощь и учебник по Visual Basic.
Помимо основного окна в редакторе Visual Basic есть еще 9
окон (мы будем использовать в основном 5 из них):
окно проводника проекта (Project Explorer), в котором
отображается состав компонент открытого проекта (по умолчанию
оно открыто и находится в левой части окна редактора);
окно формы (UserForm) для создания пользовательских форм;
окно (панель) инструментов (Toolbox), где показан набор
пиктограмм, представляющих элементы управления, которые
могут использоваться в разрабатываемом приложении;
24.12.16
2
окно свойств (Properties), в котором перечислены свойства
(параметры) выбранного объекта, которые можно быстро изменить
непосредственно в этом окне;
окно кодов (Code), в котором непосредственно будет
записываться программа, т.е. набор операторов данного языка
программирования.
Примечание. Если при запуске Visual Basic, необходимое окно
отсутствует, его необходимо активизировать, выполнив
соответствующую команду из меню View.
2 Формы, элементы управления и события
При разработке большого приложения бывает необходимо
создать его графический интерфейс, позволяющий вести удобный
диалог с пользователем.
Чаще всего для предоставления пользователю графического
интерфейса используются формы VBA.
Форма (Form) это окно будущего приложения. В процессе
разработки приложения эта форма служит как бы холстом, на
котором Вы рисуете различные части программы – объекты, или
элементы управления: окна, списки, кнопки, переключатели,
линейки прокрутки.
В принципе, многие элементы управления можно вставлять
непосредственно на страницу документа с помощью панели
Элементы управления. Однако классический способ это
применение форм. Хотя надо отметить, что независимо от того, где
размещаются элементы управления, приемы работы с ними
одинаковы.
Как выглядит применение форм в приложении VBA? Обычно
форма запускается при открытии пользователем документа.
Пользователь выполняет на форме какие-то действия по вводу или
выбору информации (например, выбирает значения в
раскрывающемся списке, устанавливает значения для флажков и
переключат Элементы управления панелей и т.д.), а потом, как
правило, нажимает кнопку на этой форме, и введенная им
информация передается в базу данных, отправляется по электронной
почте, записывается в файл для распечатки и т.д.
3 Создание форм. Их свойства и методы
Для создания формы необходимо войти в редактор VBA:
СервисМакросРедактор Visual Basic
И затем выбрать:
24.12.16
3
InsertUserForm
Появится окно формы:
И рядом с ним Toolbox панель с набором элементов
управления.
Элементы управления это специализированный объект,
который можно размещать на формах VBA (или непосредственно в
документах) и которые используются для взаимодействия с
пользователем. Создаются они на основе шаблонов, которые
находятся в окне инструментов (Toolbox). Таким образом, Вы
создаете «лицо» своей программы, выбирая из окна инструментов
нужные элементы управления и размещая их на форме.
Для удаления объекта с формы, используют клавишу Del, либо
контекстное меню, предварительно выделив объект.
24.12.16
4
4 Основы работы с объектами
Объекты в VBA поддерживают свойства, методы и события.
Каждый объект можно связать с набором процедур,
исполняемых в строго определенные моменты.
Процедура (Procedure) это группа операторов в языке
программирования VBA. Исполняется процедура исполняются и
ее операторы.
Процедура, присвоенная объекту, связана с определенным
событием или действием и поэтому называется процедурой
обработки событий. Событиями считаются, например, Click
(щелчок) это действие вызывается щелчком кнопки мыши,
DblClick (двойной щелчок), или Resize (изменение размера) оно
возникает при изменении размера окна формы, KeyPress (нажатие
клавиши) - оно возникает при нажатии какой-либо клавиши, Load
(загрузка в память ).
События происходят в период выполнения, но не
проектирования.
Например:
Private Sub TextBox1_DblClick()
End Sub
Private Sub CommandButton1_Click()
End Sub
В объявлении процедуры ключевое слово Sub (сокращение от
subroutine - подпрограмма) означает начало процедуры. Ему
предшествует слово Private, то есть используемая только на данной
форме. Если процедура будет использоваться и в других формах
проекта приложения, то заголовок процедуры должен начинаться со
слова Public, что по смыслу означает доступная для других форм.
Далее следует имя процедуры, которое состоит из имени
объекта и имени события, разделенные знаком подчеркивания, и
наконец (). В скобках при необходимости могут записываться
параметры процедуры.
Состояние любого объекта можно изменять с помощью
свойств, либо с помощью методов «воздействия», которые можно к
нему применять.
Характеристики объекта можно изменять, изменяя значения
его свойств. Некоторые свойства могут быть установлены в период
24.12.16
5
разработки через окно свойств. Другие можно изменять в
программном коде.
Для задания конкретных значений для свойств объекта
используют следующий синтаксис:
объект.свойство = значение
где данный объект связывается с описывающим его
«состояние» свойством через точку без пробелов. Например, можно
задать заголовок окна (свойство Caption) формы с именем
UserForm1 в программном коде следующим образом (при
написании программного кода регистр букв не играет роли):
UserForm1.Caption = “Список сотрудников”
В текстовое окно внести следующее имя отчество:
TextBox1.Text=”Иванова Светлана”
Изменить заголовок командной кнопки:
CommandButton1. Caption=”Задача”
Изменить размер шрифта на командной кнопке:
UserForm1.Caption.Font.Size = 14
Сделать текстовое окно видимым, а метку невидимым:
TextBox1.Visible=True
Label1.Visible= False
Если необходимо выяснить состояние объекта, т.е. получить
значения его свойств, используют следующий синтаксис:
Переменная = объект.свойство
Например, можно узнать значения свойства Text текстового
поля:
Tl = TextBox1.Text
Создадим 3 объекта:
24.12.16
6
Label1
TextBox1
CommandButton1
Изменим их свойства: для метки и командной кнопки
Caption, чтобы изменить надпись, для формы Picture, чтобы
вставить рисунок, BackColor, чтобы изменить цвет и т.д.
Для командной кнопки напишем процедуру:
Private Sub CommandButton1_Click()
Tl = TextBox1.Text
TextBox1.Text = "Привет" & Tl & "!"
End Sub
После запуска программы (запуск осуществляется после
нажатия на кнопку Run (F5)), вводим в текстовое окно имя и
щелкаем по кнопке «Приветствие». В результате получим:
Методы это действия, которые требуется выполнить.
Формат записи операторов с методом зависит от того, сколько
параметров принимает процедура метода и возвращает ли метод
значение. Если метод не требует параметров, используется
следующий синтаксис:
объект.метод
Например, чтобы показать Фому используют метод Show, чтобы
спрятать метод Hide:
UserForm1. Show
UserForm1. Hide
Если метод требует параметры, то они перечисляются через
запятую:
24.12.16
7
объект.метод аргументы
Например для элемента управления комбинированный список
ComboBox:
ComboBox1. AddItem Visual Basic
-добавить к списку текст Visual Basic
Элемент ComboBox позволяет пользователю выбирать
готовые значения из списка и вводить значения самостоятельно.
Пример: При щелчке по командной кнопке добавить в
комбинированный список темы изучаемые в семестре.
Создадим 3 объекта:
Label1
ComboBox1
CommandButton1
Изменим соответствующие свойства в окне свойств. Для
командной кнопки напишем следующую процедуру:
Private Sub CommandButton1_Click()
ComboBox1.AddItem "Visual Basic"
ComboBox1.AddItem "Excel"
ComboBox1.AddItem "Word"
End Sub
В результате получим:
24.12.16
8
Пример: С помощью элемента управления Флажок (их часто
называют «Птички» или «галки»), осуществить выбор и вывод на
форму соответствующей картинки (Деда мороза, ракеты или
будильника). Щелкая по командной кнопке вывести в текстовое
окно подписи соответствующих рисунков.
Создадим на форме следующие элементы управления:
CommandButton1
3 объекта Image3 рисунок
3 объекта CheckBox флажок
Изменим их свойства с помощью окна свойств согласно
образцу:
24.12.16
9
Причем для объектов Image3 установим свойство Visible =
False
Для объектов CheckBox напишем следующие процедуры:
Private Sub CheckBox1_Click()
Image1.Visible = True
Image2.Visible = False
Image3.Visible = False
End Sub
Private Sub CheckBox2_Click()
Image2.Visible = True
Image3.Visible = False
Image1.Visible = False
End Sub
Private Sub CheckBox3_Click()
Image3.Visible = True
Image1.Visible = False
Image2.Visible = False
End Sub