Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование VBA.pdf
Скачиваний:
374
Добавлен:
03.05.2015
Размер:
3.07 Mб
Скачать

115

Next i

Close #1

End Sub

Ниже приведены таблицы Excel до и после выполнения процедуры Счи-

тываниеИзФайлаПД.

2.15. Создание процедуры

Создание первой процедуры проекта требует выполнения двух последовательных шагов:

1.вставка модуля в рабочую книгу;

2.написание процедуры в этом модуле.

Приложение может содержать один или несколько модулей. Имея несколько модулей, можно организовать их по назначению, виду и т.п. Создадим процедуру, которая будет выводить на экран окно сообщения. Для создания этой процедуры нужно выполнить следующие действия.

1. Открыть новую рабочую книгу.

Выполнить команду Сервис > Макрос > Редактор Visual Basic. Откроется окно редактора Visual Basic. В левой части окна редактора Visual Basic появится окно проектов Project Explorer. Если окно проектов не появится, надо нажать комбинацию клавиш <Ctrl+R>.

116

2. Если окно проектов VBAProject (Книга1) не откроется, то открыть его, щелкнув левой кнопкой мыши по значку + элемента VBAProject (Книга1).

3.Щелкнуть правой кнопкой мыши на элементе ЭтаКнига. В появившемся контекстном меню выбрать команду Insert > Module. В приложение будет добавлен модуль.

117

В верхней части окна кода модуля находится инструкция Option Explicit, которая принуждает явно описывать все переменные с помощью инструкций Dim, Private, Public, ReDim и Static. Если попытаться использовать переменную без её объявления, то при компиляции кода будет выдана ошибка. Эта инструкция в новом модуле появляется только тогда, когда в диалоговом окне Options на вкладке Editor установлен флажок опции

Require Variable Declaration. Диалоговое окно Options открывается командой Tools > Options.

4.Выполнить команду Insert > Procedure. Откроется диалоговое окно

Add Procedure.

5.Ввести имя процедуры, например, ПерваяПроцедура. В секции Туре установить переключатель Sub.

6.Щелкнуть на кнопке ОК. В пустой строке находится текстовый курсор, предлагая начать ввод кода процедуры.

7.Нажать клавишу Таb и ввести следующий текст:

MsgBox "Это процедура VBA"

После того как введено MsgBox и нажата клавиша пробела, появится окно с информацией о данной инструкции. Делать отступ текста с помощью клавиши Таb не обязательно. Отступ делается для более легкого чтения кода.

7. Нажать клавишу Enter.

Ниже приведена введённая процедура.

118

VBA требует выполнения определенных правил для имен подпрограмм и функций. Эти правила таковы.

Первые три символа имени должны быть буквами.

Имя может содержать буквы, цифры и знаки подчеркивания.

Имя не может содержать пробелы, точки, запятые, восклицательные знаки (!) и символы @, &, $, #.

Имя не должно иметь более 255 символов.

2.16.Выполнение процедуры

После создания процедуры её можно сразу выполнить. Для этого существует несколько способов. Можно использовать команду Run Sub|UserForm (Выполнить подпрограмму|экранную форму) из меню Run (Выполнить) или щелкнуть на кнопке Run Sub|UserForm стандартной панели инструментов или нажать клавишу F5. Итак, чтобы выполнить процедуру, нужно сделать следующее.

1.Щёлкнуть кнопкой Run Sub|UserForm стандартной панели инструментов редактора Visual Basic. Процедура выполнится и отобразит окно сообщения:

2.Щёлкнуть кнопкой ОК. Произойдёт возврат в окно редактора Visual Basic.

2.17. Сохранение процедуры

Чтобы сохранить новую процедуру, надо сохранить рабочую книгу, где находится эта процедура. Можно сохранить рабочую книгу из редактора

Visual Basic. Для этого нужно:

1.выполнить команду File > Save Книга (Файл > Сохранить книгу). Если рабочая книга еще ни разу не сохранялась, дать ей имя;

2.ввести Первая в качестве имени книги и нажать клавишу Enter. Рабочая книга, модуль и процедура будут сохранены.

2.18. Запись последовательности действий пользователя

Excel позволяет записывать последовательность действий пользователя, а затем преобразовать их в код VBA. Записанный VBA код макроса может служить основой для дальнейших разработок, а также является хорошим учебным материалом для изучения VBA. Например, чтобы узнать, как в VBA записать последовательность каких-либо действий, нужно записать макрос, выполняющий эти действия, и затем проанализировать код макроса и при необходимости внести изменения в него.

Пример

119

Создать макрос, используя запись последовательности действий пользователя, для решения следующей задачи.

При работе в Excel необходимо часто вводить на рабочий лист наименование и “шапку” таблицы, приведённой ниже.

Для этого нужно выполнить следудующие действия:

1.Выделить блок ячеек A1:D1.

2.Объединить ячейки блока.

3.Ввести наименование таблицы (слово ВЕДОМОСТЬ) шрифтом.

4.Ввести шапку таблицы (Фамилия И.О., №зач.кн., Дисциплина, Оценка).

5.Обвести рамкой каждую ячейку шапки таблицы.

Порядок записи макроса следующий.

1.Открыть новую рабочую книгу.

2.Выполнить команду Сервис > Макрос > Начать запись. Поя-

вится диалоговое окно Запись макроса, показанное ниже.

3.Ввести название макроса, например ВЕДОМОСТЬ_1, и щёлкнуть кнопку OK.

4.Выполнить действия по формированию заголовка и шапки таблицы, перечисленные выше в п.п. 1÷5

5.Щёлкнуть на кнопке Остановить запись одноименной панели инструментов. Сеанс записи макроса закончен.

Обычно (но не всегда!) на экране появляется панель инструментов

Остановить запись.

Если эта панель не появилась, то нужно щёлкнуть правой кнопкой мыши на любой панели инструментов и в открывшемся контекстном меню