Учебное пособие 1568
.pdf
|
Окончание табл. 2.3 |
Tab Order (после- |
Отображает диалоговое окно Tab Order, |
довательность пе- |
которое используется при создании поль- |
рехода) |
зовательских диалоговых окон |
|
|
Toolbars (панели |
Отображает подменю, позволяющее пока- |
инструментов) |
зывать или скрывать различные панели ин- |
|
струментов Редактора VB или открывать |
|
диалоговое окно для настройки одной из |
|
панелей инструментов Редактора VB |
|
|
<Host application> |
Возвращается в host-приложение, из кото- |
(host-приложение) |
рого был запущен Редактор VB, но остав- |
|
ляет Редактор VB открытым. Конкретное |
|
имя этого пункта меню зависит от того, из |
|
какого host-приложения VBA вы запустили |
|
Редактор VB |
Меню Insert (Вставка). Команды меню Insert позволяют добавлять различные объекты, такие как модули и формы, в ваш проект. В меню Insert никакие команды не имеют горячих клавиш. В табл. 2.4 приведены действия, выполняемые каждой командой этого меню.
|
Таблица 2.4 |
|
Команды меню Insert |
Команда |
Действие |
|
|
Procedure (проце- |
Вставляет новую процедуру (Sub, Function |
дура) |
или Property) в текущий модуль. (Процеду- |
|
ра - это еще одно название макроса) |
|
|
UseForm |
Добавляет новую форму (используется для |
|
создания пользовательских диалоговых |
|
окон) в проект |
|
|
Module (модуль) |
Добавляет новый модуль в проект. Редак- |
|
тор VB дает этому модулю имя в соответ- |
|
ствии с правилами, описанными ранее |
|
|
33
Продолжение табл. 2.4
Class Module (мо- |
Добавляет в проект class module (модуль |
дуль класса) |
класса). Модули класса используются для |
|
создания пользовательских объектов в ва- |
|
шем проекте |
|
|
File (файл) |
Позволяет вставлять текстовый файл, со- |
|
держащий исходный код VBA, в модуль |
|
|
Меню Format (Формат). Команды меню Format используются при создании пользовательских диалоговых окон и других форм. Команды меню Format позволяют выравнивать объекты в форме по отношению друг к другу, настраивать размер элемента управления в соответствии с его содержимым и выполнять многие другие полезные задачи.
|
Таблица 2.5 |
|
Команды меню Format |
Команда |
Действие |
|
|
Align (выровнять) |
Открывает подменю команд, которые по- |
|
зволяют выравнивать выбранные объекты в |
|
форме по отношению друг к другу. Здесь |
|
можно выравнивать объекты по верх- |
|
ней/нижней, правой/левой границам, по |
|
центру или середине создаваемого объекта |
|
|
Make Same Size |
Открывает подменю команд, позволяющих |
(выровнять раз- |
изменять размер выделенных объектов до |
мер) |
размера указанного объекта |
|
|
Size to Fit (подог- |
Одновременно изменяет ширину и высоту |
нать размер) |
объекта до соответствия размеру его со- |
|
держимого |
34
|
Продолжение табл. 2.5 |
Size to Grid (вы- |
Одновременно изменяет ширину и высоту |
ровнять размер по |
объекта до ближайших меток сетки. При |
сетке) |
разработке форм Редактор VB отображает в |
|
форме сетку, чтобы было легче располагать |
|
и изменять размеры объектов в форме |
|
|
Horizontal Spacing |
Открывает подменю команд, позволяющих |
(интервал по го- |
устанавливать горизонтальный интервал |
ризонтали) |
для выбранных объектов. Здесь можно ус- |
|
танавливать равномерный горизонтальный |
|
интервал, уменьшать или увеличивать его |
|
или удалять всякий горизонтальный интер- |
|
вал между объектами |
|
|
Vertical Spacing |
Открывает подменю команд, позволяющих |
(интервал по вер- |
устанавливать вертикальный интервал для |
тикали) |
выбранных объектов. Здесь можно устанав- |
|
ливать равномерный вертикальный интер- |
|
вал, уменьшать или увеличивать его или |
|
удалять всякий вертикальный интервал ме- |
|
жду объектами |
Center in Form |
Открывает подменю команд, позволяющих |
(разместить по |
изменять положение выбранных объектов, |
центру в форме) |
чтобы они были центрированы в форме го- |
|
ризонтально или вертикально |
|
|
Arrange Buttons |
Открывает подменю команд, позволяющих |
(разместить кноп- |
автоматически располагать командные |
ки) |
кнопки в форме в ряд с равным интервалом |
|
по нижнему или правому краю формы |
|
|
Group (группиро- |
Связывает несколько выбранных объектов |
вать) |
вместе в одну группу, чтобы вы могли пе- |
|
ремещать, изменять размер, вырезать или |
|
копировать объекты, обращаясь с ними, как |
|
с одним целым |
|
|
35
Окончание табл. 2.5
Ungroup (раздеОтменяет группировку объектов, которые лить) перед этим были связаны вместе с помо-
щью команды Group
Order (порядок) Открывает подменю команд, позволяющих изменять упорядочение сверху вниз (называемое z-order) перекрывающихся объектов в форме. Используйте команду Order, чтобы обеспечить, например, появление текстового окна всегда поверх графического объекта в форме
Меню Debug (Отладка). Команды меню Debug используются при выполнении тестирования или отладки макросов. (Debugging — так называется процесс нахождения и исправления ошибок в программе.) В табл. 2.6 приведены команды меню Debug и выполняемые действия.
|
Таблица 2.6 |
|
Команды меню Debug |
Команда |
Действие |
|
|
Compile <project> |
Компилирует проект, выбранный в данный |
(компилировать |
момент в Project Explorer |
<проект>) |
|
Step Into (шаг с |
Выполняет исходный код вашего макроса |
заходом) |
по одному оператору каждый раз |
|
|
Step Qver (шаг с |
Подобно команде Step Into команда Step |
обходом) |
Over позволяет выполнять все инструкции |
|
в макросе без паузы на каждой отдельной |
|
инструкции |
|
|
Step Out (шаг с |
Выполняет все остающиеся операторы в |
выходом) |
макросе без паузы на каждом отдельном |
|
операторе |
|
|
36
|
Продолжение табл. 2.6 |
Run to Cursor |
Выполняет операторы исходного кода мак- |
(выполнить до |
роса от оператора, выполняющегося в дан- |
текущей позиции) |
ный момент, до текущей позиции курсора |
|
|
Add Watch (доба- |
Позволяет указывать переменные или вы- |
вить контрольное |
ражения, значения которых можно наблю- |
значение) |
дать во время выполнения исходного кода |
|
VBA |
|
|
Edit Watch (изме- |
Позволяет редактировать спецификации |
нить контрольное |
для наблюдаемых переменных и выраже- |
значение) |
ний, которые были созданы ранее с помо- |
|
щью команды Add Watch |
|
|
Quick Watch (кон- |
Отображает текущее значение выбранного |
трольное значе- |
выражения |
ние) |
|
Toggle Breakpoint |
Отмечает место (или отменяет отметку) в |
(точка останова) |
исходном коде VBA, где вы хотите остано- |
|
вить выполнение макроса |
|
|
Clear All Break- |
Удаляет все точки останова в модуле |
points (снять все |
|
точки останова) |
|
Set Next Statement |
Позволяет менять обычное выполнение ко- |
(задать следую- |
да путем указания вручную следующей |
щую инструкцию) |
строки исходного кода, которая должна |
|
выполняться |
Show Next State- |
Приводит к подсветке Редактором VB сле- |
ment (показать |
дующей строки кода, которая будет вы- |
следующую инст- |
полняться |
рукцию) |
|
|
|
Команды меню Debug позволяют непосредственно контролировать выполнение макроса, останавливать и запускать макрос в заданных точках и отслеживать выполнение макроса по шагам.
37
Меню Run (Запуск). Команды меню Run позволяют начать выполнение макроса, прерывать или возобновлять его выполнение или возвращать прерванный макрос в состояние до выполнения.
|
Таблица 2.7 |
|
Команды меню Run |
Команда |
Действие |
|
|
Run Sub/User |
Приводит к тому, что VBA запускает мак- |
Form (запуск под- |
рос, который редактируется в данный мо- |
программы/ User |
мент, то есть VBA запускает макрос, на |
Form) |
тексте которого находится курсор вставки. |
|
Если какая-либо форма активна, VBA за- |
|
пускает эту форму |
|
|
Break |
Прерывает выполнение вашего кода VBA и |
(прервать) |
приводит к тому, что Редактор VB перехо- |
|
дит в режим прерывания (Break mode). |
|
(Break mode используется при отладке кода |
|
VBA.) |
|
|
Resert <project> |
Устанавливает все переменные модульного |
(сброс) |
уровня и Call Stock (список последователь- |
|
ности вызовов) в исходное состояние |
|
|
Design Mode |
Включает и выключает Design mode (ре- |
(конструктор) |
жим проектирования или разработки) для |
|
проекта. В этом режиме никакой код в ва- |
|
шем проекте не выполняется и события от |
|
элементов управления не обрабатываются |
|
|
Меню Tools (Сервис). Команды меню Tools не только позволяют выбрать макрос для выполнения, но и получить доступ к внешним библиотекам макросов и дополнительным элементам управления форм (кроме встроенных в VBA). Команды меню Tools обеспечивают также доступ к диалоговому окну Options (параметры) Редактора VB и свойствам проекта VBA текущего выбора в Project Explorer. В табл. 2.8 приведены команды меню Tools и их действия.
38
|
Таблица 2.8 |
|
Команды меню Tools |
References (ссыл- |
Отображает диалоговое окно References, |
ки) |
позволяющее устанавливать ссылки на |
|
библиотеки объектов, библиотеки типов |
|
или другой проект VBA. После установле- |
|
ния ссылки объекты, методы, свойства, |
|
процедуры и функции, связанные с этой |
|
ссылкой, появляются в диалоговом окне |
|
Object Browser |
|
|
Additional Controls |
Отображает диалоговое окно Additional |
(дополнительные |
Controls, позволяющее настраивать Tool- |
элементы) |
box (панель элементов) так, чтобы вы мог- |
|
ли добавлять элементы управления в фор- |
|
мы дополнительно к встроенным в VBA. |
|
Диалоговое окно Additional Controls пред- |
|
назначено для добавления к панели эле- |
|
ментов кнопок, которые позволяют добав- |
|
лять к форме объекты, такие как рабочий |
|
лист Excel или документ Word |
|
|
Macros (макросы) |
Отображает диалоговое окно Macros, по- |
|
зволяющее создавать, редактировать, вы- |
|
полнять или удалять макросы |
|
|
Options (парамет- |
Отображает диалоговое окно Options, по- |
ры) |
зволяющее выбирать различные опции для |
|
Редактора VB, такие кок число пробелов в |
|
интервале табуляции (tab stop), когда VBA |
|
проверяет синтаксис ваших операторов, и |
|
т. д |
<project> Proper- |
Отображает диалоговое окно Project Prop- |
ties (свойства про- |
erties, позволяющее устанавливать различ- |
екта) |
ные свойства вашего проекта VBA, такие |
|
как имя проекта, описание и файл контек- |
|
стной справки. Это диалоговое окно по- |
|
зволяет также защищать проект, чтобы |
39
|
Продолжение табл. 2.8 |
|
никто не мог его редактировать без указа- |
|
ния пароля |
|
|
Digital Signature |
Отображает диалоговое окно Digital Signa- |
(цифровая под- |
ture, в котором можно задать для проекта |
пись) |
сертификат цифровой подписи |
|
|
Меню Add-Ins. В этом меню находится всего одна команда, 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 содержит
40
также командную кнопку System Info, которая отображает информацию о вашей вычислительной системе: какие драйверы видеосистемы, звуковой системы и принтера установлены, какие программы загружены в память в данное время, какие программы зарегистрированы в системном реестре (Windows System Registry) и другую техническую информацию.
3. ТИПЫ ДАННЫХ
Данные в VBA характеризуются своими типами, которые определяют:
·формат представления данных в памяти компьютера;
·область возможных значений;
·множество допустимых операций, применимых к дан-
ным.
В свою очередь типы данных делятся на простые (встроенные и определяемые пользователем) и структурные.
3.1. Встроенные типы данных
Как и любой язык программирования высокого уровня, VBA содержит все привычные встроенные типы данных (примитивы): арифметические, строковые и логические, но есть и свои, уникальные. Полный перечень встроенных типов данных VBA с соответствующими областями значений и требуемой памятью запишем в виде табл. 3.1.
Таблица 3.1
Встроенные типы данных VBA
Тип |
Описание |
Область значений |
Треб. |
Спец. |
данных |
память |
символ |
||
Boolean |
Логическое |
True (Истина) и |
2 байта |
|
|
значение |
False (Ложь) |
|
|
|
|
|
|
|
Byte |
Число без зна- |
0-255 |
1 байт |
|
|
ка |
|
|
|
41
Продолжение табл. 3.1
Currency |
Десятичные |
-922 337 203 685 |
8 байт |
@ |
|
числа с фик- |
477,5808 – |
|
|
|
сированным |
+922 337 203 685 |
|
|
|
количеством |
477,5807 |
|
|
|
знаков после |
|
|
|
|
запятой |
|
|
|
|
|
|
|
|
Date |
Используется |
1.01.0100- |
8 байт |
|
|
для хранения |
31.12.9999 |
|
|
|
дат |
|
|
|
|
|
|
|
|
Decimal |
Любое число |
28 знаков |
12 байт |
|
|
|
|
|
|
Double |
Числовые зна- |
-1.7E308 - 4,9Е – |
|
# |
|
чения с пла- |
324 |
|
|
|
вающей |
для отрицатель- |
|
|
|
точкой двой- |
ных чисел и |
|
|
|
ной точности |
+4.9Е-324 - |
|
|
|
|
+1,7Е308 |
|
|
|
|
для положитель- |
|
|
|
|
ных чисел |
|
|
|
|
|
|
|
Integer |
Короткие це- |
-32 768 - +32 767 |
|
% |
|
лые числовые |
|
|
|
|
значения |
|
|
|
|
|
|
|
|
Long |
Длинные це- |
-2147483648 - |
|
& |
|
лые число- |
+2147483647 |
|
|
|
вые значения |
|
|
|
|
|
|
|
|
Object |
Ссылка на |
|
|
|
|
объект |
|
|
|
|
|
|
|
|
Single |
Числовые зна- |
-3.4Е38 - -1,4Е-45 |
|
! |
|
чения с пла- |
для отрицатель- |
|
|
|
вающей точ- |
ных чисел и |
|
|
|
кой обычной |
+1,4Е-45 - |
|
|
|
точности |
+3.4Е38 |
|
|
|
|
|
|
|
42