Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

1 Знакомство с редактором VBA

.pdf
Скачиваний:
35
Добавлен:
16.04.2015
Размер:
808.89 Кб
Скачать

ЗНАКОМСТВО С РЕДАКТОРОМ VBA

Цели и задачи

Целью работы является:

- знакомство с редактором VBA и его возможностями,

-научиться создавать простые макросы.

Задачи:

-разобраться в параметрах управления безопасностью,

-на простых примерах узнать, что такое макрос, как его создать, и для чего он нужен,

-научиться использовать элементы управления.

Теоретическая часть

1. Макросы и безопасность

Макрос - это набор инструкций, которые сообщают программе (такой как Word или Excel), какие действия следует выполнить, чтобы достичь определенной цели. Он объединяет все эти инструкции в одном сценарии, который затем можно вызвать с помощью команды меню, кнопки панели инструментов или комбинации клавиш.

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

Microsoft Office снабжен собственной системой безопасности, основная задача которой — противодействие проникновению макровирусов — вредоносных программ на языке VBA.

Макровирусы — это основная проблема, которую породил язык программирования, встроенный в офисные программы. Безопасность работы с макросами сводится к очень простому правилу: не следует разрешать выполнение макросов, если вы не знаете точно, для чего нужны эти макросы.

Если вы открываете документ, который содержит подозрительный, с точки зрения системы, макрос, при настройках безопасности по умолчанию этот макрос блокируется. В MS Office 2003 выводится такое сообщение (рис.1.1).

Рис. 1.1

1

Для настройки системы безопасности нужно зайти в меню «Сервис», выбрать пункт «Макрос» и в выпадающем меню нажать «Безопасность» (рис. 1.2). После этого появится окно настройки безопасности (рис. 1.3).

Рис. 1.2

Рис. 1.3

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

Даже если сообщения системы безопасности кажутся вам слишком назойливыми — не стоит поддаваться искушению и активировать пункт «Низкая».

2

Если вы открываете документ в MS Office 2007, который содержит подозрительный с точки зрения системы макрос, выводится такое сообщение (рис.2.1).

Рис. 2.1

Если нажать на кнопку «Параметры», которая находится в правой части панели сообщений, появится окно настройки свойств макроса. С помощью этого окна мы можем либо разрешить выполнение макросов в открытом документе, выбрав пункт «Включить это содержимое», либо запретить, выбрав «Установить защиту от неизвестного содержимого».

Для настройки системы безопасности нажмите в MS Office 2007 на кнопку «Microsoft Office», далее — на кнопку «Параметры Excel» (или «Параметры Word» если это MS Word) (рис. 2.2). В левой части появившегося окна выберите пункт «Центр управления безопасностью» (рис. 2.3). На странице центра управления безопасностью нажмите кнопку «Параметры центра управления безопасностью».

Рис. 2.2

3

Рис. 2.3

Появится окно настройки параметров макросов (рис. 2.4). В нем нужно выбрать пункт «Параметры макросов».

Рис. 2.4

Практика показывает, что при интенсивном использовании собственных макросов, удобнее и безопаснее всего использовать пункт, установленный по умолчанию — «Отключить все макросы с уведомлением». Этот пункт аналогичен пункту «Средняя. Решение о запуске потенциально опасных макросов принимает пользователь», только при открытии документа открывается не окно с предупреждением, а всплывающее сообщение как на рис. 2.1.

4

Даже если сообщения системы безопасности кажутся вам слишком назойливыми — не стоит поддаваться искушению и активировать пункт «Включить все макросы».

Особый интерес представляет пункт «Отключить все макросы кроме макросов с цифровой подписью». Активировав его, вы сможете спокойно запускать макросы, которые вы создали и подписали сами.

2. Создание макроса

Для создания макроса необходимо выполнить ряд действий, рассмотрим их применительно к MS Office 2003 и к MS Office 2007.

В MS Office 2003 нужно зайти в меню «Сервис», выбрать пункт «Макрос», а в выпадающем меню «Макросы» (рис. 1.4).

Рис. 1.4

В MS Office 2007 Выбираем вкладку ленты «Вид» и нажмем на ней направленную вниз треугольную стрелку под надписью «Макросы» (рис. 2.5). В открывшемся меню нам нужна команда «Макросы».

Рис. 2.5

5

Откроется окно, в котором нужно будет указать имя макроса и выбрать местоположение «Эта книга», раскрыв список «Находится в:» (рис. 3).

Рис. 3

Это окно также отображает уже существующие макросы. В данном случае в окне Макрос отображается список макросов из открытого документа. Чтобы посмотреть макросы, находящиеся в других местах, воспользуйтесь списком «Находится в:».

Имя выделенного макроса отображается в строке «Имя». Именно с этим макросом мы можем совершать различные действия в данном окне. В частности, здесь доступны следующие варианты:

«Выполнить» — выполняет макрос. Вместо того, чтобы пользоваться кнопкой быстрого вызова макроса или настраиваемой комбинацией клавиш, для выполнения макроса можно воспользоваться этой кнопкой. Это удобно для запуска макросов, которые используются очень редко.

«Изменить» — нажав на эту кнопку, вы откроете редактор Visual Basic, который позволяет изменять макросы и создавать собственные программы.

«Создать» — наберите в строке «Имя» желаемое имя нового макроса и нажмите на эту кнопку — система создаст новый пустой макрос и откроет его в редакторе.

«Удалить» — удаление макроса.

После нажатия кнопки «Создать» откроется редактор VBA (рис. 4).

6

Рис. 4

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

3. Редактор VBA

Окно редактора Visual Basic выглядит одинаково во всех приложениях Microsoft Office. Давайте рассмотрим главное меню этого окна, описав назначение наиболее часто используемых пунктов (рис.4).

File (Файл) — служит для работы с файлами. File • Save — сохраняет файл.

File • Import File — позволяет импортировать внешний файл в редактор. Например, таким образом можно добавить в свой проект модуль (то есть — программный код) или форму. File • Export File — экспортирует данные из редактора во внешний файл. Например, этой командой можно сохранить редактируемую форму и передать ее другому разработчику.

File • Close and Return To Microsoft Word — закрывает VBA-редактор и возвращается в Microsoft Word (аналогичная команда есть и для MS Excel). Вы можете просто переключаться между редактором и основным приложением в Панели задач Windows, не закрывая редактор.

Edit (Правка) — содержит команды для правки. Помимо стандартных команд отмены и возврата последнего действия (Undo, Redo), вырезания, копирования, вставки (Cut, Copy, Insert), поиска (Find), это меню содержит несколько особенных команд. В частности, это List Properties/Methods (Список Свойств/Методов) и другие.

View (Вид) — cодержит команды для отображения различных окон редактора. Названия команд соответствуют названиям окон.

7

Insert (Вставка) — служит для вставки в проект форм (User Form), модулей (Module), процедур (Procedure), файлов (File) и модулей класса (Class Module). Эти команды продублированы на панели инструментов редактора.

Format (Форматирование) — служит для управления расположением элементов управления на формах.

Debug (Отладка) — содержит команды, позволяющие отлаживать программы.

Run (Запуск) — содержит команды для управления выполнением программ. В частности, команда Sub/User Form (Процедура/Форма) запускает на выполнение активную процедуру или форму (рядом с этой командой стоит характерный зеленый треугольник). Команда Break (Приостановить) — приостанавливает выполнение программы, команда Reset (Перезапуск) – останавливает выполнение программы. Эти команды продублированы на панели инструментов редактора в виде кнопок с соответствующими пиктограммами.

Tools (Инструменты) — содержит средства для настройки свойств редактора, подключения дополнительных библиотек объектов.

Add-Ins (Дополнения) — позволяет управлять дополнениями. По умолчанию это меню содержит лишь одну команду, запускающую менеджер дополнений.

Window (Окно) — стандартные команды для работы с окнами. Help (Помощь) — помощь по VBA.

Окно редактора включает в себя несколько рабочих областей - окон, служащих для выполнения различных действий. На рис. 4 в окне редактора присутствуют три рабочих области:

Code (Код) - это окно, в котором пишут тексты VBA-программ и редактируют макросы. Эта область расположена справа и занимает большую часть окна редактора.

Project (Проводник Проекта) - это окно обычно открыто в левой верхней части окна редактора. Оно отображает информацию о компонентах проекта, позволяет быстро перемещаться между компонентами.

Properties (Свойства) - отображает свойства выделенного объекта. Обычно располагается в левой нижней части рабочего окна.

Рассмотрим подробнее окно Project. Окно Project служит для навигации по проекту (рис. 5).

Рис. 5

Каждый открытый документ представляет собой отдельный проект. На рис. 5 вы можете видеть окно «Project» для только что созданного документа. Проект имеет иерархическую структуру. Так, в разделе Microsoft Excel Objects (Объекты Microsoft Excel) мы можем видеть объектs Лист1, Лист2, Лист3, Эта

8

книга, то есть документ, который мы создали. В разделе Modules (Модули) мы можем видеть объект Module1 — только что созданный в проекте макрос.

Чтобы отобразить объект, достаточно сделать по нему двойной щелчок или нажать на кнопку «View Object» (вторая слева в верхней части окна «Project»). Чтобы просмотреть код объекта надо нажать на кнопку «View Code» (крайняя левая кнопка).

Щелкнув правой кнопкой мыши по названию проекта, можно увидеть его контекстное меню. Это меню содержит наиболее часто используемые команды для работы с проектами. В частности, особый интерес представляет команда «Project Properties» (Свойства проекта).

Давайте изучим содержимое окна Code (рис. 4). Посмотрите на первую и последнюю строчку текста. Первая строчка выглядит так:

Sub mac1()

Это - начало процедуры макроса. Процедура - это самостоятельный участок кода. Вам должно быть знакомо название процедуры макроса - ведь мы сами дали ему это имя при записи.

Последняя строчка нашего макроса выглядит так:

End Sub

Получается, что все наши действия в ходе записи макроса должны быть описаны командами, находящимися между Sub и End Sub как, например, на рис. 6.

Рис. 6

Сразу после первой строки макроса можно увидеть строку, начинающихся со значка ' (апостроф). Он указывает на то, что текст данной строки - это комментарий. Комментарии в текстах VBA-программ автоматически выделяются зеленым цветом. Они нужны, чтобы объяснять какие-либо сложные места в коде и т.д. В нашем случае комментарий содержит информацию об имени макроса.

Дальше идет код, который выводит на экран сообщение с надписью «Привет!». В нашем случае полезная часть макроса состоит всего из одной строчки. Вот она:

MsgBox(―Привет!‖)

Из текста программы понятно (учитывая, что Msg - это сокращение от Message), что результатом ее выполнения будет сообщение с надписью «Привет!»

9

В приложениях MS Office 2003, чтобы открыть панель VBA нужно зайти в меню «Вид» и в разделе «Панель инструментов» поставить галочку, нажав «Visual Basic» (рис 1.5).

Рис 1.5

После чего появится панель инструментов «Visual Basic» (рис. 1.6).

Рис. 1.6

Для удобства ее можно перетащить на главную панель (рис. 1.7)

Рис. 1.7

Обратите внимание на картинку в виде таблицы с двумя цветными элементами, это кнопка «Visual Basic». Нажав на эту кнопку, вы запустите редактор VBA. Еще запустить редактор можно из меню

«Сервис» в пункте «Макрос» (рис. 1.4).

10