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

2 семестр / Программирование на VBA

.pdf
Скачиваний:
209
Добавлен:
09.04.2015
Размер:
1.24 Mб
Скачать

свойств выделенного объекта, составленный из имен свойств в алфавитном порядке. Вкладка Categorized (по категориям) отображает свойства объекта, отсортированные по категориям.

Code Window это окно, в котором вы можете просматривать,

редактировать или создавать исходный код VBA. В режиме Full Module View

весь исходный код макроса в модуле отображается сразу в прокручивающемся текстовом окне, а макрос отделяется от другого макроса серой линией. Редактор VB позволяет также просматривать содержимое модуля в режиме Procedure View (представление процедуры). Чтобы выбрать режим просмотра, щелкайте кнопки в нижнем левом углу Code Window (рис. 3).

Когда Code Window находится в режиме Procedure View, видимым является исходный код только одного макроса. Используйте раскрывающийся список Procedure (процедура) для просмотра другого макроса. В режиме Full Module View вы можете также использовать раскрывающийся список Procedure для быстрого перехода к отдельному макросу.

Используйте список Object List (объект) для выбора объекта, процедуры которого хотите просмотреть или редактировать. В случае стандартных модулей, таких как модули, в которых сохраняются записанные вами макросы, единственным выбором в списке Object List является General (общая область).

Меню Редактора VB

В Редакторе VB меню File (Файл) предоставляет команды, необходимые для сохранения изменений в проекте VBA и вывода на экран исходного кода вашего макроса VBA. В табл. 1 приведены команды меню File, их горячие клавиши и назначение каждой команды.

Таблица 1 Команды меню File

Команда

Горячая

Действие

 

клавиша

 

Save <project>

Ctrl+S

Сохраняет текущий проект (презентацию, рисунок

(сохранить

 

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

<проект>)

 

открыт Редактор VB) VBA на диске, включая все

 

 

модули и формы

Import File…

Ctrl+M

Добавляет существующий модуль, форму или

(импорт файла)

 

класс в текущий проект (презентацию). Вы можете

 

 

импортировать только модули, формы или классы,

 

 

сохраненные ранее командой Export File из

 

 

другого проекта (презентации)

Export File…

Ctrl+E

Сохраняет текущий модуль, форму или класс в

(экспорт файла)

 

формате текстового файла для импортирования в

 

 

другой проект или в целях архивирования

Remove <item>…

 

Перманентно удаляет модуль или форму текущего

(удалить <…>)

 

выбора из проекта (презентации) VBA. Эта

 

 

команда не доступна, если в Project Explorer не

 

 

выбран никакой элемент

11

Команда

Горячая

 

Действие

 

 

 

клавиша

 

 

 

 

 

Print… (печать)

Ctrl+P

Печатает

модуль

или

форму

для

 

 

документирования или с целью архивирования

 

Close and Return

Alt+Q

Закрывает Редактор VB и возвращает вас в

to Microsoft Excel

 

рабочую книгу, из которой был открыт Редактор

(закрыть и

 

VB

 

 

 

 

вернуться в

 

 

 

 

 

 

Excel)

 

 

 

 

 

 

Меню Edit (Правка) содержит команды, относящиеся к управлению исходным кодом макроса в Code Window и объектами в формах. В табл. 2 приведены имеющиеся команды меню Edit, их горячие клавиши и описывается действие, выполняемое каждой командой.

Таблица 2 Команды меню Edit

Команда

Горячая

Действие

 

клавиша

 

Undo (отменить)

Ctrl+Z

Отменяет самую последнюю команду. Не все

 

 

команды могут быть отменены. Меню доступно

 

 

только в случае, если есть, что отменять

Redo (вернуть)

 

Возвращает самую последнюю команду, которую

 

 

вы отменили

Cut (вырезать)

Ctrl+X

Вырезает выделенный текст или объект и

 

 

помещает его в Windows Clipboard. Выделенный

 

 

текст или объект удаляется из модуля или формы

Сору

Ctrl+C

Копирует выделенный текст или объект и

(копировать)

 

помещает его в Windows Clipboard. Выделенный

 

 

текст или объект остается неизменным

Paste (вставить)

Ctrl+V

Вставляет текст или объект из Windows Clipboard

 

 

в текущий модуль или форму

Clear (очистить)

Del

Удаляет выделенный текст или объект из модуля

 

 

или формы

Select All

Ctrl+A

Выделяет весь текст в модуле или все объекты в

(выделить все)

 

форме

Find… (найти)

Ctrl+F

Подобно команде Find в Word или Excel,

 

 

позволяет находить указанный текст в модуле

Find Next (найти

F3

Повторяет последнюю операцию Find

далее)

 

 

Replace…

Ctrl+H

Подобно команде Replace в Word или Excel,

(заменить)

 

позволяет находить указанный текст в модуле и

 

 

заменять его другим текстом

Indent

Tab

Смещает весь выделенный текст вправо на

(увеличить

 

интервал табуляции

отступ)

 

 

12

Команда

Горячая

 

Действие

 

 

клавиша

 

 

 

Outdent

Shift+Tab

Смещает весь выделенный текст влево на интервал

(уменьшить

 

табуляции

 

 

отступ)

 

 

 

 

List Properties/

Ctrl+J

Открывает список в List Properties/Methods,

Methods (список

 

отображая свойства и методы объекта, имя

свойств/методов)

 

которого вы только что ввели. Когда курсор

 

 

вставки находится на пустом месте в List

 

 

Properties/Methods эта команда открывает список

 

 

глобально доступных свойств и методов

 

List Constants

Ctrl+

Открывает список в Code Window, отображающий

(список констант)

Shift+J

допустимые константы для свойства, которое вы

 

 

только что ввели с предшествующим знаком “=”

Quick Info

Ctrl+I

Открывает всплывающее окно подсказки,

(сведения)

 

отображающее

правильный синтаксис

для

 

 

процедуры, функции или метода, который вы

 

 

только что ввели в Code Window

 

Parameter Info

Ctrl+

Открывает всплывающее окно подсказки,

(параметры)

Shift+I

отображающее параметры (называемые также

 

 

аргументами) процедуры, функции или оператора,

 

 

который вы только что ввели в Code Window

 

Complete Word

Ctrl+Space

Редактор VB

заканчивает слово, которое

вы

(завершить слово)

 

вводите, как только вы введете достаточно

 

 

символов для того, чтобы VBA распознал

 

 

ключевое слово

 

 

Bookmarks

 

Открывает подменю с пунктами для помещения,

(закладки)

 

удаления или перехода к закладкам, которые вы

 

 

ранее поместили в ваш модуль. В отличие от

 

 

закладок в Word, закладки Редактора VB не имеют

 

 

имен

 

 

Меню View (Вид) содержит команды, позволяющие выбирать элементы Редактора VB для просмотра и способ просмотра. В табл. 3 приведены команды меню View, их горячие клавиши и действие, производимое каждой командой.

Таблица 3 Команды меню View

Команда

Горячая

Действие

 

клавиша

 

Code (программа)

F7

Активизирует Code Window для отображения

 

 

исходного кода VBA, ассоциированного с

 

 

выбранным модулем или формой

Object (объект)

Shift+F7

Отображает объект текущего выбора в Project

 

 

Explorer

13

Команда

Горячая

 

Действие

 

 

 

 

 

клавиша

 

 

 

 

 

 

 

Definition

Shift+F2

Отображает исходный код VBA для процедуры

(описание)

 

или функции, на которую указывает курсор;

 

 

отображает Object Browser для объектов в справке

 

 

VBA

 

 

 

 

 

 

Last Position

Ctrl+

Переходит в последнюю позицию в модуле после

(вернуться к

Shift+F2

использования команды меню Definition или после

последней

 

редактирования кода

 

 

 

 

 

позиции)

 

 

 

 

 

 

 

 

Object Browser

F2

Открывает

Object

Browser,

позволяющий

(просмотр

 

определять, какие макросы доступны в данный

объектов)

 

момент

 

 

 

 

 

 

Immediate

Ctrl+G

Отображает окно отладчика Immediate Window

Window (окно

 

VBA

 

 

 

 

 

 

отладки)

 

 

 

 

 

 

 

 

Locals Window

 

Отображает окно отладчика Locals Window

 

(окно локальных

 

 

 

 

 

 

 

 

переменных)

 

 

 

 

 

 

 

 

Watch Window

 

Отображает

окно

отладчика

 

Watch

Window

(окно

 

(контрольные значения)

 

 

 

 

контрольного

 

 

 

 

 

 

 

 

значения)

 

 

 

 

 

 

 

 

Call Stack… (стек

Ctrl+L

Отображает

список

последовательности

вызовов

вызова)

 

для текущей функции или процедуры VBA

 

 

Project Explorer

Ctrl+R

Отображает Project Explorer

 

 

 

 

(окно проекта)

 

 

 

 

 

 

 

 

Properties Window

F4

Отображает Properties Window

 

 

 

 

(окно свойств)

 

 

 

 

 

 

 

 

Toolbox

 

Отображает Toolbox. Toolbox используется для

(панель

 

добавления

элементов

управления

в

элементов)

 

пользовательские диалоговые окна

 

 

Tab Order

 

Отображает диалоговое окно Tab Order, которое

(последовательно

 

используется

при

создании

 

пользовательских

сть перехода)

 

диалоговых окон

 

 

 

 

 

Toolbars (панели

 

Отображает подменю, позволяющее показывать

инструментов)

 

или скрывать различные панели инструментов

 

 

Редактора VB или открывать диалоговое окно для

 

 

настройки одной из панелей инструментов

 

 

Редактора VB

 

 

 

 

 

Microsoft Excel

Alt+Fll

Возвращает вас в Microsoft Excel, из которого был

 

 

запущен Редактор VB, но оставляет Редактор VB

 

 

открытым

 

 

 

 

 

 

Команды меню Insert (Вставка) позволяют добавлять различные объекты,

14

такие как модули и формы, в ваш проект. В меню Insert никакие команды не имеют «горячих клавиш». В табл. 4 приведены действия, выполняемые каждой командой этого меню.

Таблица 4 Команды меню Insert

Команда

Действие

Procedure…

Вставляет новую процедуру (Sub, Function или Property) в

(процедура)

текущий модуль. Процедура это еще одно название макроса

UseForm

 

Добавляет новую форму (используется для создания

 

 

пользовательских диалоговых окон) в проект

Module (модуль)

Добавляет новый модуль в проект. Редактор VB дает этому

 

 

модулю имя в соответствии с правилами, описанными ранее

Class

Module

Добавляет в проект class module (модуль класса). Модули

(модуль класса)

класса используются для создания пользовательских объектов

 

 

в вашем проекте

File… (файл)

Позволяет вставлять текстовый файл, содержащий исходный

 

 

код VBA, в модуль

Команды меню Format (Формат) используются при создании пользовательских диалоговых окон и других форм. Команды меню Format позволяют выравнивать объекты в форме по отношению друг к другу,

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

Таблица 5 Команды меню Format

Команда

Действие

Align (выровнять)

Открывает подменю команд, которые позволяют выравнивать

 

выбранные объекты в форме по отношению друг к другу.

 

Здесь можно выравнивать объекты по верхней/нижней,

 

правой/левой границам, по центру или середине создаваемого

 

объекта

Make Same Size

Открывает подменю команд, позволяющих изменять размер

(выровнять

выделенных объектов до размера указанного объекта

размер)

 

Size to Fit

Одновременно изменяет ширину и высоту объекта до

(подогнать

соответствия размеру его содержимого

размер)

 

Size to Grid

Одновременно изменяет ширину и высоту объекта до

(выровнять

ближайших меток сетки. При разработке форм Редактор VB

размер по сетке)

отображает в форме сетку, чтобы было легче располагать и

 

изменять размеры объектов в форме

15

Команда

 

 

Действие

 

Horizontal Spacing

Открывает подменю команд, позволяющих устанавливать

(интервал по

горизонтальный интервал для выбранных объектов. Здесь

горизонтали)

можно устанавливать равномерный горизонтальный интервал,

 

уменьшать или увеличивать его или удалять всякий

 

горизонтальный интервал между объектами

 

Vertical Spacing

Открывает подменю команд, позволяющих устанавливать

(интервал по

вертикальный интервал для выбранных объектов. Здесь можно

вертикали)

устанавливать

равномерный

вертикальный

интервал,

 

уменьшать или увеличивать его или удалять всякий

 

вертикальный интервал между объектами

 

Center in Form

Открывает подменю команд, позволяющих изменять

(разместить по

положение выбранных объектов, чтобы они были

центру в форме)

центрированы в форме горизонтально или вертикально

Arrange Buttons

Открывает подменю команд, позволяющих автоматически

(разместить

располагать командные кнопки в форме в ряд с равным

кнопки)

интервалом по нижнему или правому краю формы

 

Group

Связывает несколько выбранных объектов вместе в одну

(группировать)

группу, чтобы вы могли перемещать, изменять размер,

 

вырезать или копировать объекты, обращаясь с ними, как с

 

одним целым

 

 

 

 

Ungroup

Отменяет группировку объектов, которые перед этим были

(разделить)

связаны вместе с помощью команды Group

 

Order (порядок)

Открывает подменю команд, позволяющих изменять

 

упорядочение

сверху

вниз

(называемое

z-order)

 

перекрывающихся объектов в форме. Используйте команду

 

Order, чтобы обеспечить, например, появление текстового

 

окна всегда поверх графического объекта в форме

 

Команды меню Debug (Отладка) используются при выполнении тестирования или отладки макросов. Debugging так называется процесс нахождения и исправления ошибок в программе. В табл. 6 приведены команды меню Debug, их «горячие клавиши» и выполняемые действия.

Таблица 6 Команды меню Debug

Команда

Горячая

Действие

 

клавиша

 

Compile <project>

 

Компилирует проект, выбранный в данный момент

(компилировать

 

в Project Explorer

<проект>)

 

 

Step Into

F8

Выполняет исходный код вашего макроса по

(шаг с заходом)

 

одному оператору каждый раз

Step Over (шаг с

Shift+F8

Подобно команде Step Into команда Step Over

обходом)

 

позволяет выполнять все инструкции в макросе без

 

 

паузы на каждой отдельной инструкции

16

Команда

Горячая

 

Действие

 

клавиша

 

 

Step Out

Ctrl+

Выполняет все остающиеся операторы в макросе

(шаг с выходом)

Shift+F8

без паузы на каждом отдельном операторе

Run to Cursor

Ctrl+F8

Выполняет операторы исходного кода макроса от

(выполнить до

 

оператора, выполняющегося в данный момент, до

текущей позиции)

 

текущей позиции курсора

Add Watch…

 

Позволяет указывать переменные или выражения,

(добавить

 

значения которых можно наблюдать во время

контрольное

 

выполнения исходного кода VBA

значение)

 

 

 

Edit Watch…

Ctrl+W

Позволяет

редактировать спецификации для

(изменить

 

наблюдаемых переменных и выражений, которые

контрольное

 

были созданы ранее с помощью команды Add

значение)

 

Watch

 

Quick Watch…

Shift+F9

Отображает

текущее значение выбранного

(контрольное

 

выражения

 

значение)

 

 

 

Toggle Breakpoint

F9

Отмечает место (или отменяет отметку) в

(точка останова)

 

исходном коде VBA, где вы хотите остановить

 

 

выполнение макроса

Clear All

Ctrl+

Удаляет все точки останова в модуле

Breakpoints (снять

Shift+F9

 

 

все точки

 

 

 

останова)

 

 

 

Set Next Statement

Ctrl+F9

Позволяет менять обычное выполнение кода путем

(задать

 

указания вручную следующей строки исходного

следующую

 

кода, которая должна выполняться

инструкцию)

 

 

 

Show Next

 

Приводит к подсветке Редактором VB следующей

Statement

 

строки кода, которая будет выполняться

(показать

 

 

 

следующую

 

 

 

инструкцию)

 

 

 

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

Команды меню Run (Запуск) позволяют начать выполнение макроса,

прерывать или возобновлять его выполнение или возвращать прерванный макрос в состояние до выполнения (табл. 7).

17

Таблица 7 Команды меню Run

Команда

Горячая

Действие

 

клавиша

 

Run Sub/User

F5

Приводит к тому, что VBA запускает макрос,

Form (запуск

 

который редактируется в данный момент, то есть

подпрограммы/

 

VBA запускает макрос, на тексте которого

User Form)

 

находится курсор вставки. Если какая-либо форма

 

 

активна, VBA запускает эту форму

Break (прервать)

Ctrl+Break

Прерывает выполнение вашего кода VBA и

 

 

приводит к тому, что Редактор VB переходит в

 

 

режим прерывания (Break mode). Break mode

 

 

используется при отладке кода VBA

Resert <project>

 

Устанавливает все переменные модульного уровня

(сброс)

 

и Call Stack (список последовательности вызовов)

 

 

в исходное состояние

Design Mode

 

Включает и выключает Design mode (режим

(конструктор)

 

проектирования или разработки) для проекта. В

 

 

этом режиме никакой код в вашем проекте не

 

 

выполняется, и события от элементов управления

 

 

не обрабатываются

Команды меню Tools (Сервис) не только позволяют выбрать макрос для выполнения, но и получить доступ к внешним библиотекам макросов и дополнительным элементам управления форм (кроме встроенных в VBA). Команды меню Tools обеспечивают также доступ к диалоговому окну Options (параметры) Редактора VB и свойствам проекта VBA текущего выбора в Project Explorer. В табл. 8 приведены команды меню Tools и их действия. Команды меню Tools не имеют «горячих клавиш».

Таблица 8 Команды меню Tools

Команда

Действие

References…

Отображает диалоговое окно References, позволяющее

(ссылки)

устанавливать ссылки на библиотеки объектов, библиотеки

 

типов или другой проект VBA. После установления ссылки

 

объекты, методы, свойства, процедуры и функции в этой

 

ссылке появляются в диалоговом окне Object Browser

Additional

Отображает диалоговое окно Additional Controls, позволяющее

Controls…

настраивать Toolbox (панель элементов) так, чтобы вы могли

(дополнительные

добавлять элементы управления в формы помимо встроенных

элементы)

в VBA. Диалоговое окно Additional Controls предназначено

 

для добавления к панели элементов кнопок, которые

 

позволяют добавлять к форме объекты, такие как рабочий

 

лист Excel или документ Word

Macros…

Отображает диалоговое окно Macros, позволяющее создавать,

(макросы)

редактировать, выполнять или удалять макросы

18

Команда

Действие

Options…

Отображает диалоговое окно Options, позволяющее выбирать

(параметры)

различные опции для Редактора VB, такие как число пробелов

 

в интервале табуляции (tab stop), когда VBA проверяет

 

синтаксис ваших операторов, и так далее

<project>

Отображает диалоговое окно Project Properties, позволяющее

Properties…

устанавливать различные свойства вашего проекта VBA, такие

(свойства

как имя проекта, описание и файл контекстной справки. Это

проекта)

диалоговое окно позволяет также защищать проект, чтобы

 

никто не мог его редактировать без указания пароля

Digital

Отображает диалоговое окно Digital Signature, в котором

Signature…

можно задать для проекта сертификат цифровой подписи

(цифровая

 

подпись)

 

Вменю Add-lns находится всего одна команда, Add-In Manager, которая приводит к отображению диалогового окна Add-In Manager. Это окно позволяет регистрировать, загружать или выгружать и определять поведение дополнений.

ВРедакторе VB имеются два дополнительных меню: Window (окно) и Help (помощь). Оба этих меню содержат команды, идентичные меню Window и Help, имеющимся в других приложениях Microsoft Windows. Команды в меню Window позволяют выбирать активное окно, разбивать текущее окно, размещать дочерние окна вертикально и горизонтально, организовывать дочерние окна VB в виде каскада или выравнивать значки минимизированных дочерних окон. Команды меню Help также идентичны командам меню Help в Word, Excel и других приложениях Microsoft Windows. Меню Help Редактора VB позволяет получать контекстно-зависимую подсказку посредством справочной системы Microsoft Office и просматривать файлы справочной системы VBA для host-приложения, из которого вы запустили Редактор VB. Если у вас имеется модем или доступ к Internet, вы можете использовать Help/MSDN on the Web для соединения с разнообразными страницами Web, содержащими информацию о продуктах Microsoft и VBA. Последняя команда в меню Help – это команда About Microsoft Visual Basic. Она отображает диалоговое окно, содержащее сведения об авторских правах на Microsoft Visual Basic. Диалоговое окно About Microsoft Visual Basic

содержит также командную кнопку System Info…, которая отображает информацию о вашей вычислительной системе: какие драйверы видеосистемы, звуковой системы и принтера установлены, какие программы загружены в память

вданное время, какие программы зарегистрированы в системном реестре (Windows System Registry) и другую техническую информацию.

Панелями инструментов Редактора VB

По умолчанию Редактор VB отображает только панель инструментов Standard (рис. 4). В конце панели, справа, находится кнопка (со стрелкой) More Buttons. Если вы хотите удалить с панели или добавить некоторые кнопки на панель Standard, нажмите на эту кнопку, а затем укажите соответствующую кнопку в появляющемся меню.

19

 

 

 

 

 

 

 

Запуск

программы

Помощник

по Office

 

 

Вырезать

Отменить

 

 

Окно проекта

 

Дополнительные

кнопки

Вставка

объекта

Вставить

 

 

 

Сброс

 

Панель

элементов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сохранить

 

Найти

Прервать

 

Окно

свойств

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Копировать

 

 

Конструктор

 

 

 

Позиция курсора

Приложение

 

Excel

 

Повторить

 

 

Просмотр объектов

 

 

 

Рис. 4

Кроме панели Standard Редактор VB предлагает еще три панели: Edit (правка), Debug (отладка) и UseForm.

Вы можете управлять тем, какие панели инструментов отображает Редактор

VB с помощью команды View/Toolbars (Вид/Панели инструментов).

Контрольные вопросы

1.Что такое макрос?

2.Что такое макрорекордер? Каковы его возможности?

3.Как задаются стартовые условия для макроса?

4.Как записать макрос?

5.Как выполнить макрос?

6.Назовите основные компоненты интегрированной среды VBA.

Часть 2. РЕДАКТИРОВАНИЕ ПРОСТЫХ МАКРОСОВ

После того как вы немного ознакомились со средой Редактора VB или, по крайней мере, с терминологией, связанной с компонентами редактора, пора рассмотреть более детально те макросы, которые вы должны были записать при помощи макрорекордера, и те, которые будут написаны без рекордера и

содержать только вывод краткого сообщения

Лабораторная работа № 2. Использование инструмента Object Browser.

Сохранение и перенос модулей как текстовых файлов. Написание новых макросов и процедур. Сообщения об ошибках во время написания, редактирования или выполнения процедуры. Печать исходного кода

Цель занятия: Уметь использовать инструмент Object Browser. Уметь экспортировать, импортировать и удалять модули из проекта. Уметь создавать окна сообщений. Уметь устранять ошибки синтаксиса и времени исполнения. Уметь распечатать исходный код.

Материалы к занятию: MS Excel 2003.

Отображение модуля

Для того чтобы начать редактировать конкретный макрос, вы должны

20