Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
43
Добавлен:
02.05.2014
Размер:
1.26 Mб
Скачать

3.2 Интерфейс среды Visual Basic for Application

Чтобы войти в редактор VBA необходимо нажать ALT+F11 либо зайти в меню Сервис\Макрос\Редактор Visual Basic.

Ознакомимся со средой VBA на примере простейшей программы. Эта программа делает следующее: При открытии книги либо при запуске макроса DEMOVBA появляется форма, содержащая текстовое поле и 2 кнопки: ДА и НЕТ. При нажатии кнопки ДА форма закрывается, а строка из текстового поля переписывается в ячейку A1 активного листа. При нажатии кнопки НЕТ форма закрывается. Никаких изменений на листе не происходит.

3

1

2

6

8

4

7

5

Рисунок 17

На Рисунок 17 представлены основные элементы среды VBA:

1.Панель инструментов

2.Окно проекта

3.Окно кода модуля

4.Окно кода книги

5.Окно кода формы.

6.Форма

7.Панель элементов управления

8.Окно свойств

Рассмотрим эти элементы подробнее:

1.Панель инструментов. На панели инструментов присутствуют пиктограммы наиболее используемых команд, таких как

переход в Excel

сохранение

запуск программы

приостановка программы

завершение программы

2.Окно проекта. В данном окне содержатся 3 папки:

Microsoft Excel Objects – содержит основные объекты: Книга и Используемые листы книги.

Forms – содержит формы. Modules – содержит модули.

Вмодулях хранятся процедуры (SUB) и функции. Все макросы хранятся именно в модулях.

Любая процедура, хранимая в модуле, может быть вызвана также, как и обычный макрос.

Чтобы просмотреть объект, нужно щелкнуть правой кнопкой мыши и в контекстном меню выбрать “VIEW OBJECT”.

Чтобы просмотреть и/или изменить код какого-то объекта достаточно щелкнуть по соответствующему объекту в данном окне.

Примеры окон кода модуля, а также коды обработчиков событий книги и формы представлены под номерами соответственно 3, 4,5.

Вкаждом из окон сверху расположены 2 выпадающих списка. В левом вы можете выбрать объект, для которого собираетесь писать метод. Например, в окне кода формы можно выбрать объекты CommandButton1 (кнопка 1), CommandButton2 (кнопка 2), Label1 (метка 1), TextBox1 (текстовое поле 1). В правом событие, обработчик которого вы собираетесь писать: Click (щелчок мышью), DblClick (двойной щелчок мышью), MouseMove (перемещение мыши) и т.д. В основных окнах хранятся коды процедур. (Т.к. VBA – объектно-ориентированный язык, любой код хранится в процедуре или функции). Любая процедура на VBA начинается

Sub <название процедуры>() и заканчивается End Sub.

6. Форма. При активизации формы, автоматически появляется панель, содержащая элементы управления (7), которые можно размещать на форме.

Изменять значения свойств формы и элементов управления можно в этом окне свойств (8).

Воссоздадим этот пример.

1.Сформируем форму. Для этого надо зайти в меню Insert\Userform – При этом появится форма и панель с элементами управления. Добавим 2 кнопки, метку и текстовое поле. Изменим заголовки (свойство Caption) объектов так, чтоб форма выглядела, как на Рисунок 17.

2.Напишем обработчики событий элементов управления. Для этого щелкнем по кнопке ДА и в появившемся окне запишем 2 строки:

UserForm1.Hide ‘ Убрать форму

ActiveSheet.Range("A1") = UserForm1.TextBox1

‘ Переписать значение

‘ текстового поля в ячейку A1

 

По аналогии напишем обработчик щелчка для кнопки НЕТ:

UserForm1.Hide.

В результате код формы должен соответствовать изображенному на Рисунок 17

(5).

3.Напишем код для запуска формы. В нашем примере форма должна появляться в 2 случаях: при открытии книги и при запуске макроса DemoVBA. Для первого случая откроем окно с кодом для книги, щелкнув в окне проекта по объекту ЭтаКнига. В появившемся окне в выпадающих списках выберем соответственно объект WorkBook и событие Open. После чего допишем строчку :

UserForm1.Show ‘ Показать форму

Результат должен соответствовать коду в окне (4) на Рисунок 17 Для второго случая откроем окно модуля из папки модулей. Если в папке

модули отсутствуют, добавим, выбрав в меню Insert\Module. В окне кода добавим процедуру, как в окне (3) на Рисунок 17:

Sub DemoVBA()

UserForm1.Show

End Sub

В данном случае нам придется кроме строки UserForm1.Show (показать форму) также добавить строки Sub DemoVBA() (начало процедуры DemoVBA) и End Sub (завершение процедуры). Т.о. будет создан макрос DemoVBA.

3.3 Запуск и отладка программ на VBA

Запустить программу можно 3 способами:

1.Открыть книгу заново (разумеется, предварительно сохранив)

2.Запустить макрос DemoVBA из меню Excel Сервис\Макрос\Макросы

3.Нажав в среде VBA F5 либо выбрав в меню Run соответствующий пункт.

Кроме того можно запустить программу в одном из режимов отладки (меню DEBUG). Отладка играет очень большую роль при написании программ. Один из наиболее распространенных вариантов отладки – пошаговое выполнение программы. Для запуска программы в этом режиме нажмите F8. При этом будет выполнена не вся программа, а только первая строка. Исполняемая строка выделяется желтым цветом. Для выполнения следующей строки нажмите F8 еще

Соседние файлы в папке Методички по информатике1