Меню Visual Basic

В Visual Basic существует два типа меню: встроенные и контекстные.

Встроенные меню

Встроенные меню выводятся в строке меню, над верхней границей окна Visual Basic. Название каждого меню отражает содержащиеся в нем команды. Например, меню “Формат” содержит команды, предназначенные для форматирования формы. Некоторые команды вызывают подменю с более подробными командами. Например, выбор команды “Панели” инструментов из меню “Вид приводит” к появлению подменю с названиями панелей инструментов и командой “Настройка”. Эта команда служит для изменения встроенных меню или добавления в строку меню новых команд.

Контекстные меню

Контекстные меню содержат наиболее часто используемые команды и появляются при нажатии правой кнопки мыши или клавиш SHIFT+F10.

Примечание. Сведения о команде или меню можно получить с помощью меню “?”.

Команда “Масштаб”

Эта команда служит для уменьшения или увеличения изображения выбранной формы. Допускается выбор или ввод коэффициента масштабирования в пределах от 10 до 400 процентов.

Команда доступна только на панели инструментов “UserForm”.

 

Команда “Описание” (контекстное меню)

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

Команда “Показать скрытые компоненты” (контекстное меню окна просмотра объектов)

Эта команда показывает или скрывает в окне просмотра объектов скрытые компоненты каждого класса. Скрытые компоненты не предназначены для использования в программах и обычно не выводятся в окне просмотра объектов. Они отображаются светло серым текстом.

Команда “Настройка” (контекстное меню)

Эта команда выводит окно “Настройка” для добавления, удаления, изменения или создания специальных панелей инструментов.

Команда “Удалить контрольное значение” (контекстное меню)

Эта команда служит для удаления контрольного значения.

Команда “Только слово целиком (Поиск)” (контекстное меню окна просмотра объектов)

Эта команда позволяет найти текст, в точности совпадающий с введенным в поле поиска в окне просмотра объектов.

Команда “Скрыть” (контекстное меню)

Команда служит для скрытия активного окна, проекта, папки, модуля или панели элементов управления.

Команда “Свернуть родительский объект” (контекстное меню)

Команда служит для скрытия элементов родительского объекта в областях Локальные и Контрольные окна отладки. При скрытии элементов списка, значок минус (-) слева от выражения изменяется на плюс (+).

Команда “Свойства” (контекстное меню)

Эта команда выводит окно “Свойства” для выбранного объекта.

Команда “Установить/снять” (контекстное меню)

Точка останова. Устанавливает или удаляет точку останова на текущей строке.

Закладка. Устанавливает или удаляет закладку на текущей строке в окне модуля.

Команда “Переместить” (контекстное меню)

В зависимости от того, является ли активным окно или панель элементов, выполняются следующие действия:

· Указатель мыши принимает форму и становится возможным перемещение активного окна.

· Появляется окно диалога Порядок страниц для изменения порядка страниц в панели элементов.

Допускается перемещение выбранной страницы в влево или вправо относительно других страниц.

Команды “Закомментировать блок” и “Раскомментировать блок”

Эти команды служит для добавления или удаления символа комментария, апострофа, в каждую строку выделенного блока текста. Если в момент вызова команд нет выделенного текста, символ комментария добавляется в строку, содержащую указатель.

Закомментировать блок Добавляет символ комментария в каждую строку выделенного блока теста.

Раскомментировать блок Удаляет символ комментария из каждой строки выделенного блока теста.

Команда “Свойства” (контекстное меню окна просмотра объектов)

Выводит окно диалога Параметры компонента, в котором задается описание специального компонента, а также присваивается идентификатор экрана справки и имя файла справки.

Команда доступна только для элементов, содержащих инструкции Basic.

Команда “Справка” (контекстное меню)

Выводит разделы справочной системы, относящиеся к выделенному элементу.

Команды “Объект” и “Программа” (контекстное меню)

Эти команды позволяют выбрать либо окно конструктора, либо окно модуля.

Объект Отображает или активизирует выбранный элемент.

Программа Отображает или активизирует окно модуля для выделенного объекта.

Команда “Закрепление” (контекстное меню)

Переключает способность активного окна фиксировать свое положение.

Окно считается закрепленным, когда его положение на экране, в окне приложения или в другом закрепленном окне зафиксировано. При перемещении такого окна оно остается "привязанным" к своему положению. Если окно может быть перемещено и оставлено в новом месте – оно не закреплено.

Команда “Компоненты группы” (контекстное меню окна просмотра объектов)

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

Команда “Описания” (контекстное меню окна просмотра объектов)

Выводит описание выделенного компонента.

Команда “Размер” (контекстное меню)

Указатель преобретает другую форму и становится возможным изменение размеров активного окна или панели инструментов.

Команда “Копировать” (контекстное меню окна просмотра объектов)

Эта команда служит для копирования текста для выделенного класса или компонента в буфер обмена.

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

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

Символ(ы) в шаблоне

Соответствует в выражении

?

Любой одиночный символ

*

Ноль или более символов

#

Любая одиночная цифра (09)

[списокСимволов]

Любой одиночный символ, входящий в списокСимволов

[!списокСимволов]

Любой одиночный символ, не входящий в списокСимволов

Группа из одного или более символов (списокСимволов), заключенный в скобки ([ ]), служит для сопоставления с любым одиночным символом в выражении и может содержать практически все символы из набора символов ANSI, включая цифры. Особые символы - открывающая скобка ([ ), знак вопроса (?), знак номера (#) и звездочка (*) - могут использоваться непосредственно для сопоставления только когда заключены в скобки. Закрывающая скобка ( ]) внутри группы не может использоваться для этой цели, но может использоваться вне группы, как отдельный символ.

Помимо просто списка символов, заключенных в скобки, списокСимволов может задавать диапазон символов посредством дефиса (-), разделяющего нижнюю и верхнюю границы диапазона. Например, использование в шаблоне [А-Я] приведет к совпадению, если соответствующий символ в выражении содержит любую заглавную букву в диапазоне от А до Я. Несколько диапазонов включаются в скобки без всяких разделителей. Например, [а-яА-Я0-9] сопоставимо с любым буквенно-цифровым символом.

Ниже перечислены другие важные правила сопоставления с шаблоном:

· Восклицательный знак (!) в начале спискаСимволов означает, что сопоставление выполняется, только если символ из выражения не входит в списокСимволов. При использовании вне скобок восклицательный знак сопоставляется только с собой.

· Использование дефиса (-) для сопоставления с собой допускается либо в начале (после восклицательного знака, если таковой присутствует), либо в конце спискаСимволов. В любой другой позиции дефис служит для задания диапазона символов ANSI.

· При указании диапазона символов границы следует задавать в порядке возрастания (А-Я или 0-100). [А-Я] является допустимым шаблоном, а [Я-А] - нет.

· Символьная последовательность [ ] не принимается во внимание; полагается, что это строка нулевой длины ("").

Команда “Закрыть” (контекстное меню)

Зарывает выбранное окно.

Команды “Шаг с заходом”, “Шаг с обходом” и “Шаг с выходом” (меню “Отладка”)

“Шаг с заходом” Выполняет одну инструкцию программы.

Если команда “Шаг с заходом” выполняется не в режиме конструктора, на текущей строке выполнения осуществляется переход в режим прерывания. Если инструкция является вызовом процедуры, будет выведена первая инструкция этой процедуры.

Во время разработки эта команда запускает выполнение и входит в режим прерывания, прежде чем выполнится первая строка программы.

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

Кнопка панели инструментов: . Клавиша быстрого вызова: F8.

“Шаг с обходом” Похожа на команду “Шаг с заходом”. Различие проявляется, только если текущая инструкция содержит вызов процедуры.

Команду “Шаг с обходом” выполняет процедуру за один шаг и затем переходит к следующей инструкции текущей процедуры. Поэтому инструкцией, выводимой на следующем шаге, является следующая инструкция текущей процедуры, независимо от того, содержит ли текущая инструкция вызов процедуры. Команда доступна только в режиме прерывания.

Кнопка панели инструментов: . Клавиша быстрого вызова: SHIFT+F8.

“Шаг с выходом” Выполняет оставшиеся строки процедуры, в которой находится текущая точка выполнения. Следующей выводимой инструкцией является инструкция, следующая за вызовом этой процедуры. Выполняются все строки программы между текущей и конечной точками выполнения. Команда доступна только в режиме прерывания.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+SHIFT+F8.

Команда “Выполнить до текущей позиции” (меню “Отладка”)

При работе в режиме конструктора команда “Выполнить до текущей позиции” служит для задания инструкции, находящейся ниже по тексту программы, на которой необходимо остановить выполнение. Программа выполняется от текущей до выбранной инструкции в строке индикатора на полях, напротив текущей строки выполнения, появляется индикатор на полях .

Эта команда полезна, например, для пропуска больших циклов.

Клавиша быстрого вызова: CTRL+F8.

Команда “Точка останова” (меню “Отладка”)

Команда служит для установки или удаления точки останова в текущей строке программы. Невозможно установить точку останова в строке, содержащей неисполняемые инструкции, например комментарии, инструкции описания или пустые строки.

Строка программы, в которой установлена точка останова, приобретает цвет, заданный на вкладке “Модуль” в окне диалога “Параметры”.

Кнопка панели инструментов: . Клавиша быстрого вызова: F9.

Команда “Снять все точки останова” (меню “Отладка”)

Эта команда удаляет все точки останова из проекта. В этом случае возможно прерывание программы, если установлено контрольное выражение или на вкладке “Общие” окна диалога “Параметры” выбран параметр Останов при любой ошибке. Отменить действие команды “Снять все точки останова” нельзя.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+SHIFT+F9.

Команда “Следующая инструкция” (меню “Отладка”)

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

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

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+F9.

Команда “Отобразить следующую инструкцию” (меню “Отладка”)

Выделяет цветом следующую выполняемую инструкцию. Эта команда используется для помещения курсора на строку, которая будет выполняться следующей.

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

Кнопка панели инструментов: .

Команда “Добавить контрольное значение” (меню “Отладка”)

Эта команда выводит окно диалога “Добавление контрольного значения” для задания контрольного выражения. Это значение может быть любым допустимым в Basic выражением. Контрольные выражения обновляются в окне отладки каждый раз при входе в режим прерывания.

Кнопка панели инструментов: .

Команда “Изменить контрольное значение” (меню “Отладка”)

Эта команда выводит окно диалога “Изменение контрольного значения” для редактирования или удаления контрольного выражения. Команда доступна только при установленном контрольном выражении, даже если окно отладки скрыто.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+W.

Команда “Контрольное значение” (меню “Отладка”)

Эта команда выводит окно диалога “Контрольное значение” с текущим значением выделенного выражения. Эта команда служит для просмотра текущего значения переменной, свойства или другого выражения, для которого не задано контрольное выражение. Выделите выражение в окне модуля или в окне отладки и затем выполните команду “Контрольное значение”. Для добавления контрольного выражения из окна диалога “Контрольное значение” следует нажать кнопку “Добавить”.

Кнопка панели инструментов: . Клавиша быстрого вызова: SHIFT+F9.

Окно диалога Добавление контрольного значения

Используется для ввода контрольного выражения. Вводимое выражение может быть переменной, свойством, вызовом функции или любым другим допустимым в Basic выражением. Контрольные выражения в области Контрольные окна отладки обновляются каждый раз при входе в режим прерывания, а также после выполнения каждой инструкции в окне проверки.

Допускается перетаскивание с помощью мыши выделенного выражения из окна модуля в область Контрольные окна отладки.

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

Параметры окна диалога

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

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

· Процедура — Отображает имя процедуры, в которой определено выделенное выражение (по умолчанию). Задает процедуру(ы), в которых вычисляется контрольное выражение. Допускается выбор всех процедур либо отдельной процедуры.

· Модуль — Отображает имя модуля, в котором определено выделенное выражение (по умолчанию). Допускается выбор всех модулей либо отдельного модуля для вычисления значения контрольного выражения.

· Проект — Отображает имя текущего проекта. Вычисление выражений вне текущего проекта невозможно.

Тип контрольного значения Определяет реакцию Visual Basic на контрольное выражение.

· Контрольное выражение — Отображает в области Контрольные окна отладки выражение и его значение. При входе в режим прерывания значение этого выражения автоматически обновляется.

· Останов, если значение истинно — Выполнение программы автоматически прерывается, когда значение выражения становится истинным или ненулевым (недопустимо для строковых выражений).

· Останов при изменении значения — Выполнение программы автоматически прерывается при изменении значения выражения в указанном контексте.

Окно диалога Изменение контрольного значения

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

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

Параметры окна диалога

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

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

· Процедура — Отображает имя процедуры, в которой определено выделенное выражение (по умолчанию). Задает процедуру(ы), в которых вычисляется контрольное выражение. Допускается выбор всех процедур либо отдельной процедуры.

· Модуль — Отображает имя модуля, в котором определено выделенное выражение (по умолчанию). Допускается выбор всех модулей либо отдельного модуля для вычисления значения контрольного выражения.

· Проект — Отображает имя текущего проекта. Вычисление выражений вне текущего проекта невозможно.

Тип контрольного значения Определяет реакцию Visual Basic на контрольное выражение.

· Контрольное выражение — Отображает в области Контрольные окна отладки выражение и его значение. При входе в режим прерывания значение этого выражения автоматически обновляется.

· Останов, если значение истинно — Выполнение программы автоматически прерывается, когда значение выражения становится истинным или ненулевым (недопустимо для строковых выражений).

· Останов при изменении значения — Выполнение программы автоматически прерывается при изменении значения выражения в указанном контексте.

Удалить Удаляет контрольное выражение.

Окно диалога Контрольное значение

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

Параметры окна диалога

Контекст Отображает имена проекта, модуля и процедуры, в которых определено контрольное выражение.

Выражение Отображает выделенное выражение.

Значение Отображает значение выделенного выражения. Текущее значение не выводится, если контекст выражения находится вне процедур, перечисленных в окне диалога Стек вызова.

Добавить Добавляет выражение в область Контрольные окна отладки.

Окно диалога Просмотр объектов

Отображает классы, свойства, методы, события и константы объектных библиотек и процедур проекта. Используется для поиска объектов, созданных в текущем или других приложениях.

Дополнительные сведения о просмотре объектов можно получить в разделе Просмотр объектов справочной системы.

Элементы управления

Поле Проект/Библиотека

Отображает список библиотек, прямо адресуемых из активного проекта. Добавление библиотек выполняется в окне диалога Ссылки. При выборе значения <Все библиотеки> одновременно отображаются все библиотеки.

Поле поиска текста

Содержит строку искомого текста. Допускается ввод или выбор строки. Поле содержит также 4 последних искавшихся в текущем проекте строки. В строке допускается использование стандартных подстановочных знаков Visual Basic.

Для поиска целых слов в контекстном меню следует выбрать команду Только слово целиком.

Кнопка Назад

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

Кнопка Вперед

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

Кнопка Скопировать в буфер обмена

Копирует выделенный текст из списка компонентов или из области описания в буфер обмена. В дальнейшем возможна вставка этого текста в программу.

Кнопка Описание

Помещает курсор в окне модуля в место описания выделенного объекта из списка классов или компонентов.

Кнопка Справка

Отображает контекстную справку по выделенному в списке классов или компонентов объекту. Для получения справки также служит клавиша F1.

Кнопка Найти

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

Кнопка Показать/скрыть результаты поиска

Отображает или скрывает панель Результаты поиска. В этой панели выводятся результаты поиска в проекте или библиотеке, выбранных из списка Проект/Библиотека. Результаты выводятся в алфавитном порядке.

Список Результаты поиска

Отображает библиотеку, класс и компонент, удовлетворяющие условиям поиска. Содержимое панели Результаты поиска изменяется при изменении значения в списке Проект/Библиотека.

Список Классы

Отображает список всех доступных классов из библиотеки или проекта, выбранных в поле Проект/Библиотека. Если для класса существует программный текст, этот класс выделяется жирным шрифтом. Список всегда начинается с класса <глобальные>, компоненты которого доступны глобально.

Если выделен класс, но не указан компонент, будет выведен компонент по умолчанию (если таковой существует). Компонент по умолчанию помечается звездочкой (*) или определенным для данного компонента значком по умолчанию.

Список Компоненты

Отображает список компонентов выбранного класса, сгруппированных по типу и упорядоченных внутри каждой группы по алфавиту. Методы, свойства, события и константы, для которых имеется программный код, выделяются жирным шрифтом. Порядок сортировки изменяется командой Компоненты группы контекстного меню просмотра объектов.

Панель описания

Отображает описание компонента. Содержит ссылку для перехода к классу или библиотеке, к которой принадлежит компонент. Некоторые компоненты имеют также ссылку на свой родительский класс. Например, если в панели описания указано, что Команда1 имеет тип Кнопка, выбор этой надписи отобразит класс Кнопка.

Допускается перетаскивание с помощью мыши текста из панели описания в окно модуля.

Линия разбивки

Разделяет панели и позволяет изменять их размер. Существует между:

· Списками Классы и Компоненты.

· Списком Результаты поиска и списками Классы и Компоненты.

· Списками Классы и Компоненты и панелью описания.

Окно диалога Стек вызова

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

Параметры окна диалога

БазаДанных.Модуль.Процедура Отображает список процедур.

Показать Помещает место вставки в точку вызова процедуры и на полях устанавливает маркер вызова .

Окно диалога Параметры компонента

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

Параметры окна диалога

Имя компонента Отображает имя элемента, выделенного в списке Классы или Компоненты.

Описание Позволяет задать строку, отображаемую в панели описания в окне диалога Просмотр объектов.

Файл контекстной справки Отображает связанный с выбранным элементом файл справки. Это значение задается в ячейке Файл контекстной справки на вкладке Общие окна диалога Свойства проекта.

Идентификатор справки Присваивает уникальное числовое значение идентификатору контекста. Это значение используется для поиска соответствующего раздела в файле справки из ячейки Файл контекстной справки при нажатии клавиши F1 или кнопки во время просмотра процедуры в окне диалога Просмотр объектов.

Окно диалога Настройка печати

Отображается при нажатии кнопки Настройка в окне диалога Печать.

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

Параметры окна диалога

Принтер Позволяет задать принтер. Если принтер не выбран, печать будет осуществлена на принтере Windows по умолчанию.

· Имя — Отображает список доступных принтеров.

· Состояние — Отображает состояние принтера и его готовность к работе.

· Тип — Отображает тип принтера.

· Место — Отображает место размещения принтера. Ели принтер сетевой, выводит путь к серверу.

· Заметки — Отображает физическое место размещения принтера, а также дополнительные сведения.

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

Бумага Позволяет выбрать размер и тип подачи бумаги (из доступных вариантов). Размеры и типы подачи бумаги зависят от выбранного принтера и изменяются при изменении принтера.

· Размер бумаги — Отображает список доступных размеров бумаги.

· Подача бумаги — Отображает доступные типы подачи бумаги для выбранного принтера.

Ориентация Позволяет выбрать книжную или альбомную ориентацию листа при печати.

Окно диалога Настройка

Позволяет настраивать панели инструментов и меню.

Вкладки

Панели инструментов Позволяет создавать, переименовывать, удалять или сбрасывать панели инструментов.

Команды Содержит команды, которые можно перетащить с помощью мыши в меню или панель инструментов.

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

Кнопка вызова Помощника Отображает Помощника по Office.

Вкладка Панели инструментов (окно диалога Настройка)

Позволяет создавать, переименовывать, удалять или сбрасывать панели инструментов.

Параметры вкладки

Список Панели инструментов Отображает список встроенных в Visual Basic панелей инструментов, а также созданных пользователем. Если панель инструментов отображена, рядом с ней появляется отметка.

Примечание. Строку меню скрыть невозможно. Ее можно только сбросить.

Создать Отображает окно диалога Создание панели инструментов для ввода в поле Панель инструментов имени новой панели инструментов.

Переименовать Отображает окно диалога Переименование панели для ввода нового имени панели инструментов. Команда доступна только для панелей, определенных пользователем.

Удалить Удаляет определенную пользователем панель управления из текущего проекта. Команда доступна только для панелей, определенных пользователем.

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

Вкладка Команды (окно диалога Настройка)

Позволяет добавлять или изменять элементы управления в строке меню или панели инструментов. Допускается также изменение изображения кнопок и текста добавленных пользователем команд.

Параметры вкладки

Категории Отображает список различных категорий команд.

Команды Отображает список элементов управления, доступных для категории, выбранной в списке категорий. Допускается перетаскивание команды с помощью мыши в нужную панель инструментов. Для добавления команды в меню следует перетащить ее на соответствующий заголовок меню, а затем в нужное место раскрывшегося меню.

Описание Отображает краткую справку для выделенного элемента управления.

Изменить выделенный объект Позволяет изменить выделенную команду.

· Сброс — Восстанавливает состояние команды по умолчанию.

· Удалить — Удаляет команду.

· Имя — Изменяет имя элемента управления. Клавиша быстрого вызова задается с помощью символа амперсант (&).

· Копировать значок на кнопке — Копирует изображение кнопки в буфер обмена.

· Вставить значок на кнопке — Вставляет изображение кнопки из буфера обмена.

· Восстановить значок на кнопке — Восстанавливает заданное по умолчанию изображение кнопки.

· Изменить значок на кнопке — Отображает окно диалога Редактор кнопок.

· Выбрать значок для кнопки — Отображает список значков, из которого следует выбрать новое изображение кнопки.

· Основной стиль — Для кнопок панели инструментов отображать только значок, для команд меню – значок и имя.

· Только текст (всегда) — Отображать только имя команды.

· Только текст (в меню) — Скрывает значок (если есть) для команды меню. Для кнопок панели инструментов не работает.

· Значок и текст — Отображает значок и имя для панелей инструментов. Для команд меню не работает.

· Начать группу — Для панелей инструментов перед элементом управления помещает разделитель. Запрещена, если элемент управления находится в самом начале панели инструментов.

Вкладка Параметры (окно диалога Настройка)

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

Параметры вкладки

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

Отображать подсказки для кнопок Включает и выключает режим отображения подсказки для кнопок.

Включать в подсказки сочетания клавиш Отображает в командах меню клавиши быстрого вызова.

Эффект при выводе меню Отображает список доступных эффектов анимации, применимых к меню.

Окно диалога Свойства проекта

Задает параметры настройки выбранного проекта.

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

Позволяет задать имя новой панели инструментов.

Параметры окна диалога

Панель инструментов Допускается ввод имени новой панели или использование имени по умолчанию. Имя по умолчанию различно для каждой панели инструментов и имеет вид: Настраиваемая1, Настраиваемая2 и т. д.

Окно диалога Переименование панели

Позволяет задать новое имя специальной панели инструментов.

Параметры окна диалога

Панель инструментов Задает новое имя панели инструментов.

Окно диалога Шрифт

Служит для изменения шрифта, его размера и/или начертания для текста и полей данных.

Параметры окна диалога

Шрифт Отображает список всех установленных в Windows шрифтов. При открытии окна диалога выбирается шрифт, использованный для форматирования выделенного элемента.

Начертание Отображает список четырех дополнительных атрибутов, применимых к выбранному шрифту:

· Обычный — стандартное, неизмененное начертание

· Полужирный — жирный шрифт

· Курсив — наклонный шрифт

· Полужирный курсив — жирный наклонный шрифт

Размер Отображает список стандартных размеров для выбранного шрифта. При открытии окна диалога выбирается размер шрифта, использованный для форматирования выделенного элемента, и этот размер отображается в первой строке списка размеров.

Допускается выбор размера из списка или его ввод в поле редактирования (если есть уверенность, что для текущего принтера установлены дополнительные размеры шрифта, или если используется масштабируемый шрифт).

Атрибуты Отображает два дополнительных атрибута, используемые для выделения выбранного шрифта.

· Зачеркнутый — перечеркивает символы шрифта

· Подчеркнутый — подчеркивает символы шрифта

Возможно задание любого сочетания атрибутов.

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

Набор символов Отображает перечень входящих в состав шрифта наборов символов.

OK Применяет параметры шрифта к выделенному элементу отчета.

Отмена Отменяет все изменения шрифта и оставляет отчет в прежнем виде.

Значки, использующиеся в окне просмотра объектов и в окне модуля

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

Этот значок:

Представляет:

 

Свойство

Свойство по умолчанию

Метод

Метод по умолчанию

Событие

Константу

Модуль

Класс

Определяемый пользователем тип

Глобальный объект

Библиотеку

Проект

Встроенные ключевые слова и типы

Перечислимый тип

Команды Отменить и Вернуть (меню Правка)

Отменить Отменяет последнее действие редактирования, например ввод текста в окне модуля или удаление элемента управления. При удалении одного или более элементов удаления команда Отменить позволяет восстановить их и их свойства.

Кнопка панели инструментов . Клавиши быстрого вызова: CTRL+Z или ALT+BACKSPACE.

Примечание. В форме с помощью этой команды невозможно отменить команду Вырезать.

Вернуть Восстанавливает последнее изменение текста, изменение размера или положения элемента управления, если с момента вызова команды Отменить не произошло никаких действий.

Кнопка панели инструментов .

В случае редактирования текста команды Отменить и Вернуть позволяют восстановить до двадцати изменений.

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

Команды Вырезать, Копировать, Вставить (меню “Правка”)

Вырезать Удаляет выделенный текст или элемент управления и помещает его в буфер обмена. Чтобы сделать команду доступной необходимо выделить хотя бы один символ или элемент управления. Допускается отмена команды Вырезать над элементом управления.

Кнопка панели инструментов: . Клавиши быстрого вызова: CTRL+X или SHIFT+DELETE

Копировать Копирует выделенный текст или элемент управления и помещает его в буфер обмена. Чтобы сделать команду доступной необходимо выделить хотя бы один символ или элемент управления. Отмена команды Копировать в окне модуля невозможна.

Кнопка панели инструментов: . Клавиши быстрого вызова: CTRL+C или CTRL+INSERT.

Вставить Вставляет содержимое буфера обмена в текущую позицию. Текст помещается туда, где находится курсор.

Вставляемые элементы управления помещаются в центр формы.

Допускается отмена команды Вставить в окне модуля и в форме, если в нее был вставлен элемент управления.

Кнопка панели инструментов: . Клавиши быстрого вызова: CTRL+V или SHIFT+INS.

Команды Найти и Найти далее (меню “Правка”)

Найти Выполняет поиск указанного в окне диалога Поиск текста в заданном диапазоне.

В случае успешного поиска окно диалога закрывается и выделяется найденный и текст. Если совпадение не обнаружено, выводится окно с сообщением о том, что указанный текст не найден.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+F.

Найти далее Выполняет поиск и выделяет следующее вхождение текста, заданного в поле Образец окна диалога Поиск.

Кнопка панели инструментов: . Клавиши быстрого вызова: F3 (найти далее) или SHIFT+F3 (найти предыдущее вхождение).

Параметры окна диалога

Образец В это поле следует ввести или вставить искомый текст либо нажать стрелку вниз и выбрать один из четырех последних использовавшихся образцов. Если при вызове команды выделен текст или курсор находится на слове, этот текст будет помещен в поле Образец.

Область поиска Задает диапазон поиска.

· Текущая процедура—Поиск выполняется только в текущей процедуре.

· Текущий модуль—Поиск выполняется только в текущем модуле.

· В текущей базе данных—Поиск выполняется во всех модулях текущей базы данных.

· Выделенный текст—Поиск выполняется в выделенном блоке текста.

Просмотр Устанавливает направление поиска: Вверх, Вниз от положения курсора или Все в выбранном диапазоне.

Только слово целиком Выполняет поиск целого слова и игнорирует его вхождения в более длинные слова.

С учетом регистра Выполняет поиск вхождений с комбинацией строчных и заглавных букв, указанной в поле Образец.

Использовать шаблон Выполняет поиск с использованием подстановочных символов.

Найти далее Выполняет поиск и выделяет следующее вхождение текста, заданного в поле Образец.

Отмена Закрывает окно диалога без выполнения поиска.

Заменить Выводит окно диалога Замена, сохраняя текст, введенный в окне диалога Поиск.

Команда Заменить (меню “Правка”)

Команда выполняет поиск указанного текста в модуле текущей базы данных и заменяет его на новый текст, заданный в окне диалога Замена.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+H.

Параметры окна диалога

Образец В это поле следует ввести или вставить искомый текст либо нажать стрелку вниз и выбрать один из четырех последних использовавшихся образцов. Если при вызове команды выделен текст или курсор находится на слове, этот текст будет помещен в поле Образец.

Заменить на В это поле следует ввести или вставить из буфера обмена текст замены. Для удаления из документа текста, указанного в поле Образец следует оставить поле Заменить на пустым.

Область поиска Задает диапазон поиска.

· Текущая процедура—Поиск выполняется только в текущей процедуре.

· Текущий модуль—Поиск выполняется только в текущем модуле.

· В текущей базе данных—Поиск выполняется во всех модулях текущей базы данных.

· Выделенный текст—Поиск выполняется в выделенном блоке текста.

Просмотр Устанавливает направление поиска: Вверх, Вниз от положения курсора или Все в выбранном диапазоне.

Только слово целиком Выполняет поиск целого слова и игнорирует его вхождения в более длинные слова.

С учетом регистра Выполняет поиск вхождений с комбинацией строчных и заглавных букв, указанной в поле Образец.

Использовать шаблон Выполняет поиск с использованием подстановочных символов.

Найти далее Выполняет поиск и выделяет следующее вхождение текста, заданного в поле Образец.

Отмена Закрывает окно диалога без выполнения замены.

Заменить Запрашивает подтверждение перед каждой заменой искомого текста.

Заменить все Выполняет замену всех вхождений искомого текста на текст замены, не запрашивая подтверждения.

Команда Увеличить отступ (меню “Правка”)

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

Изменение интервала табуляции выполняется на вкладке Редактор окна диалога Параметры.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+M.

Команда Уменьшить отступ (меню “Правка”)

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

Изменение интервала табуляции выполняется на вкладке Редактор окна диалога Параметры.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+SHIFT+M.

Команды Закладки (меню “Правка”)

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

При добавлении закладки рядом с текущей строкой появляется значок .

Закладка Снимает или устанавливает закладку.

Кнопка панели инструментов:

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

Кнопка панели инструментов:

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

Кнопка панели инструментов:

Снять все закладки Удаляет все закладки.

Кнопка панели инструментов:

Команда Выделить все (меню “Правка”)

Эта команда служит для выделения всего текста в окне модуля или всех элементов управления в форме.

Команда Список свойств/методов (меню “Правка”)

В окне модуля выводит раскрывающийся список, содержащий доступные для объекта свойства и методы. Если указатель установлен на пустой строке, команда Список свойств/методов выводит список глобально доступных методов. Чтобы список при наборе текста открывался автоматически необходимо выбрать параметр Список компонентов на вкладке Редактор окна диалога Параметры.

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

· Ввода имени. По мере ввода, подходящее свойство или метод выделяется и перемещается в начало списка.

· Использования клавиш управления курсором вверх и вниз для перемещения по списку.

· Прокрутки списка и выбора желаемого свойства или метода.

Вставка выделенного свойства или метода в инструкцию выполняется путем:

· Двойного щелчка мышью на свойстве или методе.

· Выделения свойства или метода и нажатия клавиши TAB для вставки или ENTER для вставки и перехода к следующей строке.

Примечание. После точки (.) в объектах типа Variant список не выводится.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+J.

Команда Список констант (меню “Правка”)

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

Поиск константы в списке выполняется путем:

· Ввода имени.

· Использования клавиш управления курсором вверх и вниз для перемещения по списку.

· Прокрутки списка и выбора желаемой константы.

Вставка выделенной константы в инструкцию выполняется путем:

· Двойного щелчка мышью на константе.

· Выделения константы и нажатия клавиши TAB для вставки или ENTER для вставки и перехода к следующей строке.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+SHIFT+J.

Команда Краткие сведения (меню “Правка”)

Выводит синтаксис использования выбранной в окне модуля переменной, функции, инструкции, метода или процедуры.

Эта команда отображает синтаксис и выделяет текущий параметр. Для функций или процедур с параметрами параметр выделяется жирным шрифтом по мере его ввода, до тех пор пока не введена запятая, отделяющая его от следующего параметра.

Чтобы краткие сведения появлялись при наборе текста автоматически необходимо выбрать параметр Краткие сведения на вкладке Редактор окна диалога Параметры.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+I.

Команда Сведения о параметре (меню “Правка”)

Эта команда в окне модуля выводит сведения о параметрах начальной функции или инструкции. Если функция или инструкция содержит в качестве параметров другие функции, команда Сведения о параметрах выведет сведения только о первой функции. Для получения сведений по всем вложенным функциям служит команда Краткие сведения.

Параметр выделяется жирным шрифтом по мере его ввода, до тех пор пока не введена запятая, отделяющая его от следующего параметра.

Вызванные Сведения о параметре не исчезнут пока:

· Не введены все требуемые параметры.

· Функция не завершена без указания необязательных параметров.

· Не нажата клавиша ESC.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+SHIFT+I.

Команда Завершить слово (меню “Правка”)

Завершает ввод набираемого слова, если только введено достаточно символов для распознавания слова Visual Basic.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+SPACEBAR.

Команда “Печать” (меню “Файл”)

Команда позволяет распечатать формы и тест программ на принтере, указанном в Панели управления Microsoft Windows.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+P.

Параметры окна диалога

“Принтер” Определяет принтер, используемый для печати.

“Диапазон печати Определяет диапазон печати:

· “Выделенный текст — Печать выделенного текста программы.

· “Текущий модуль — Печать формы и/или текста программы для выделенного модуля.

· “Текущий проект — Печать формы и/или текста программы для всего проекта.

“Печатать Задает распечатываемый объект. Допускается выбор любого числа параметров, в зависимости от значения диапазона печати.

· “Рисунок формы — Печать изображения формы.

· “Программу — Печать текста программы в выбранном диапазоне.

“Качество Определяет качество печати: высокое, среднее, низкое или черновик.

“Печать в файл” Если это флажок установлен, результат печати направляется в файл, указанный в окне диалога “Печать в файл”. Оно появляется после нажатия кнопки “OK” в окне диалога “Печать”.

“OK” Начало печати.

“Отмена” Закрытие окна диалога, не выполняя печать.

“Установка” Вывод стандартного окна диалога “Параметры страницы”.

Команды Выровнять (меню “Формат”)

Эти команды служат для выравнивания выделенных объектов относительно друг друга с использованием в качестве основы элемента управления с белыми маркерами захвата.

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

Кнопка панели инструментов: .

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

Кнопка панели инструментов: .

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

Кнопка панели инструментов: .

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

Кнопка панели инструментов: .

По середине Выравнивает вертикальное положение выбранных объектов, помещая их середины на одну линию с элементом управления с белыми маркерами захвата.

Кнопка панели инструментов: .

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

Кнопка панели инструментов: .

По узлам сетки Помещает верхний левый угол выделенных объектов в ближайший узел сетки. Размер объектов не изменяется.

Кнопка панели инструментов: .

Команда Выровнять размер (меню “Формат”)

Беря за основу объект с белыми маркерами захвата, корректирует размеры выделенных объектов в выбранном направлении.

по ширииине Корректирует ширину.

Кнопка панели инструментов: .

по высоте Корректирует высоту.

Кнопка панели инструментов: .

по ширииине и высоте Корректирует как ширину, так и высоту.

Кнопка панели инструментов: .

Команда Интервал по горизонтали (меню “Формат”)

Изменяет расстояние по горизонтали между выделенными объектами.

Выровнять интервал по горизонтали Перемещает выделенные объекты, беря за основу крайние, так что расстояния между ними становятся равными. Крайние объекты остаются на месте.

Кнопка панели инструментов: .

Увеличить интервал по горизонтали Увеличивает горизонтальный интервал на единицу сетки, беря за основу объект с фокусом. Когда объект приобретает фокус на его границах появляются белые маркеры. Размер единицы сетки изменяется на вкладке Общие окна диалога Параметры.

Кнопка панели инструментов: .

Уменьшить интервал по горизонтали Уменьшает горизонтальный интервал на единицу сетки, беря за основу объект с фокусом. Когда объект приобретает фокус на его границах появляются белые маркеры. Размер единицы сетки изменяется на вкладке Общие окна диалога Параметры.

Кнопка панели инструментов: .

Устранить интервал по горизонтали Удаляет горизонтальный интервал, беря за основу объект с фокусом, так, что объекты касаются друг друга краями. Когда объект приобретает фокус на его границах появляются белые маркеры.

Кнопка панели инструментов: .

Примечание. Объект с фокусом не перемещается, зато вокруг него перемещаются остальные объекты.

Примечание. Если выполнение команды Интервал по горизонтали не привело к ожидаемому результату, следует переместить некоторые объекты вручную и затем повторить команду. Также бывает полезно использовать команду Интервал по вертикали.

Команда Интервал по вертикали (меню “Формат”)

Изменяет расстояние по горизонтали между выделенными объектами, беря за основу объект с фокусом. К огда объект приобретает фокус на его границах появляются белые маркеры.

Выровнять интервал по вертикали Перемещает выделенные объекты, беря за основу самый верхний и нижний, так что расстояния между ними становятся равными. Крайние объекты остаются на месте.

Кнопка панели инструментов: .

Увеличить интервал по вертикали Увеличивает вертикальный интервал на единицу сетки, беря за основу объект с фокусом. Размер единицы сетки изменяется на вкладке Общие окна диалога Параметры.

Кнопка панели инструментов: .

Уменьшить интервал по вертикали Уменьшает вертикальный интервал на единицу сетки, беря за основу объект с фокусом. Размер единицы сетки изменяется на вкладке Общие окна диалога Параметры.

Кнопка панели инструментов: .

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

Кнопка панели инструментов: .

Примечание. Объект с фокусом не перемещается, зато вокруг него перемещаются остальные объекты.

Примечание. Если выполнение команды Интервал по вертикали не привело к ожидаемому результату, следует переместить некоторые объекты вручную и затем повторить команду. Также бывает полезно использовать команду Интервал по горизонтали.

Команда Разместить по центру в форме (меню “Формат”)

Располагает выделенные объекты на центральных осях формы.

по горизонтали Располагает середины выделенных объектов на одной горизонтальной линии в середине формы.

Кнопка панели инструментов: .

по вертикали Располагает центры выделенных объектов на одной вертикальной линии в центре формы.

Кнопка панели инструментов: .

Команда Выровнять размер по сетке (меню “Формат”)

Изменяет высоту и ширину выделенного объекта до ближайшей линий сетки в форме. Размер сетки изменяется на вкладке Общие окна диалога Параметры.

Кнопка панели инструментов: .

Команда Порядок (меню “Формат”)

Изменяет порядок выделенных объектов в форме.

На передний план Помещает выделенные объекты в форме перед всеми остальными.

Кнопка панели инструментов: . Клавиши быстрого вызова: CTRL+J.

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

Кнопка панели инструментов: . Клавиши быстрого вызова: CTRL+K.

Переместить вверх Перемещает выделенный объект на один шаг упорядочения по z выше.

Кнопка панели инструментов: .

Переместить вниз Перемещает выделенный объект на один шаг упорядочения по z ниже

Кнопка панели инструментов: .

Окно модуля

Окно модуля служит для просмотра, написания и редактирования программ Visual Basic. Допускается открытие такого числа окон, сколько имеется модулей. Это позволяет просматривать, и копировать текст между различными формами или модулями.

Открытие окна просмотра возможно:

· Из окна базы данных, путем выбора формы или модуля и нажатия кнопки Открыть.

· Из окна UserForm, посредством двойного щелчка на элементе управления, или из формы, путем выбора команды Программа из меню Вид или нажатия клавиши F7.

Допускается перемещение выделенного текста с помощью мыши:

· В другое место текущего окна модуля.

· В другое окно модуля.

· В окно проверки или отладки.

· В корзину.

Элементы окна

Поле объекта

Отображает имя выделенного объекта. Нажатие стрелки справа от этого поля приведет к появлению списка всех связанных с формой объектов.

Поле процедур/событий

Отображает список всех распознаваемых Visual Basic событий для формы или элемента управления, выведенного в поле объекта. При выборе события в окне модуля отображается соответствующая этому событию процедура.

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

Все процедуры модуля выводятся в одном списке, упорядоченном по алфавиту. Выбор процедуры из раскрывающегося списка в верхней части окна модуля приводит к установке курсора на ее первую строку.

Линия разбивки

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

Полоса индикатора на полях

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

Значок Просмотр процедуры

Отображает выделенную процедуру. В окне модуля в каждый момент времени отображается только одна процедура.

Значок Просмотр всего модуля

Отображает весь программный текст модуля.

Окно проверки

Позволяет:

· Вводить или вставлять из буфера обмена строку кода и затем по нажатию клавиши ENTER запускать ее.

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

Окно проверки может быть перемещено в любую точку экрана, если только оно не было зафиксировано на вкладке Закрепление окна диалога Параметры.

Чтобы закрыть окно достаточно щелкнуть кнопку закрытия. Если эта кнопка заслонена другими окнами, следует щелкнуть заголовок окна, а затем кнопку закрытия.

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

Область Локальные окна отладки

Автоматически отображает все описанные в текущей процедуре переменные и их значения.

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

Допускается:

· Изменение ширины столбцов, путем перемещения их границы с помощью мыши вправо или влево.

· Закрытие окна, путем щелчка мышью кнопки закрытия. Если эта кнопка заслонена другими окнами, следует щелкнуть заголовок окна, а затем кнопку закрытия.

Элементы окна

Кнопка Стек вызова Отображает окно диалога Стек вызова со списком процедур, находящихся в стеке вызова.

Выражение Список имен переменных.

Первая переменная в этом списке – особая переменная модуля, которая может быть развернута для просмотра всех переменных уровня текущего модуля. Для модулей класса определена системная переменная <Me>. Для стандартных модулей ее имя совпадает с именем модуля. В области Локальные не отображаются глобальные переменные, а также переменные из других проектов..

Редактирование данных в этом столбце невозможно.

Значение Список значений переменных.

При выборе с помощью мыши значения из этого столбца курсор принимает форму буквы I. В этом режиме следует изменить данных, а затем нажать клавиши ENTER, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, TAB, SHIFT+TAB или кнопку мыши для проверки введенных данных на допустимость. Если введенное значение некорректно, поле редактирования остается активным, а само значение выделяется. Также отображается окно сообщений, описывающее возникшую ошибку. Для отмены изменений следует нажать клавишу ESC.

Все числовые переменные должны иметь значение. Строковые переменные могут быть пустыми.

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

Тип Отображает тип переменных. Данные в этом столбце не редактируются.

Область Контрольные окна отладки

Появляется автоматически, если в проекте определены контрольные выражения.

Допускается:

· Изменение ширины столбцов, путем перемещения их границы с помощью мыши вправо, для увеличения, или влево, для уменьшения.

· Перемещение с помощью мыши выделенной переменной в область проверки окна отладки.

· Закрытие окна, путем щелчка мышью кнопки закрытия. Если эта кнопка заслонена другими окнами, следует щелкнуть заголовок окна, а затем кнопку закрытия.

Элементы окна

Выражение Список контрольных выражений со значком слева.

Значение Список значений выражений в момент перехода в режим прерывания.

После изменения данных в этом столбце следует нажать клавиши ENTER, СТРЕЛКА ВВЕРХ, СТРЕЛКА ВНИЗ, TAB, SHIFT+TAB или кнопку мыши для проверки введенных данных на допустимость. Если введенное значение некорректно, поле редактирования остается активным, а само значение выделяется. Также отображается окно сообщений, описывающее возникшую ошибку. Для отмены изменений следует нажать клавишу ESC.

Тип Отображает типы выражений.

Контекст Отображает контекст, в котором вычисляется контрольное выражение.

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

Закрытие окна производится путем щелчка мышью кнопки закрытия. Если эта кнопка заслонена другими окнами, следует щелкнуть заголовок окна, а затем кнопку закрытия.

Индикаторы на полях

Индикаторы на полях в Visual Basic служат для отображения определенных операций во время редактирования программы. Если для строки определены несколько операций, появляются все соответствующие индикаторы.

Индикаторы появляются в строке индикаторов на полях, вдоль левой границы окна модуля.

Режим отображения строки индикаторов на полях задается на вкладке Формат окна диалога Параметры.

Индикатор на полях

Имя индикатора на полях

Описание

     

Точка останова

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

Текущая выполняемая строка

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

Закладка

Показывает, что в данной строке с помощью команды Закладка из меню Правка была установлена закладка.

Индикатор стека вызова

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

Окно отображения значения

Окно, отображающее значение переменной, на которой установлен курсор.

Например, если в программе содержится инструкция x=5 и далее установлена точка останова, при запуске программы и помещении курсора на переменную “x”, в окне отображения значения появится число 5.

Окно отображается только в режиме прерывания.

Окно проекта

Отображает иерархический список проектов и всех входящих в них элементов.

Элементы окна

Программа

Отображает окно модуля, в котором возможно написание и изменение программы, связанной с выделенным элементом.

Объект

Отображает окно объектов для выделенного элемента, существующий документ или UserForm.

Папки

Скрывает или отображает папки объектов, всегда показывая при этом содержащиеся в них отдельные элементы.

Список

Отображает список всех загруженных проектов и элементов, входящих в каждый проект.

Проект

Проект и содержащиеся в нем элементы.

· UserForms

Все файлы с расширением .frm, связанные с проектом.

· Документ

Связанный с проектом документ. Например, в Microsoft Word, это документ Word.

· Модули

Все файлы проекта с расширением .bas.

· Модули класса

Все файлы проекта с расширением .cls.

· Ссылки

Все ссылки на другие проекты, установленные с помощью команды Ссылки из меню Сервис.

Окно свойств

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

Элементы окна

Поле объектов

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

Вкладки списков свойств

· По алфавиту — Список всех свойств и их текущих значений, которые могут быть изменены во время разработки, для выделенного объекта отсортированный по алфавиту. Для изменения значения свойства следует выбрать его имя и ввести или выбрать новое значение.

· По категориям — Список всех свойств для выделенного объекта, отсортированный по категории. Например, свойства ЦветФона, Подпись и ЦветТекста находятся в категории Оформление. Возможно сворачивание списка до уровня категорий или его раскрытие до уровня свойств. При сворачивании или раскрытии списка, слева от имени категории появляется значок плюс (+) или минус (-).

Типы данных, отображаемые в области Локальные окна отладки

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

Тип данных

Состояние по умолчанию

 

Currency

Отображается значение

Double

Отображается значение

Integer

Отображается значение

Long

Отображается значение

Single

Отображается значение

String

Отображается значение

UDT

Значение не отображается. Редактирование невозможно. Свернуто.

Variant

Отображается значение

Object

Значение не отображается. Редактирование невозможно. Свернуто.

Decimal

Отображается значение

Array

Значение не отображается. Редактирование невозможно. Свернуто.

Вкладка Общие (окно диалога Свойства базы данных)

Определяет параметры текущего проекта Visual Basic. Имя проекта отображается в заголовке.

Параметры вкладки

Имя проекта Определяет компонент в реестре Windows и в просмотре объектов. Необходимо, чтобы имя было уникальным.

Имя проекта является именем библиотеки типов для компонента. Библиотека типов или TypeLib содержит описание объектов и интерфейса, представляемых компонентом.

Оно используется также для задания имен классов. Сочетание имени проекта и имени класса иногда называют полным именем класса или программным идентификатором. Полное имя класса может понадобиться для правильного указания того, что объект принадлежит компоненту.

Описание проекта Устанавливает текст описания, выводимый в области описания в нижней части окна просмотра объектов.

Файл контекстной справки Отображает имя файла справки, закрепленного за проектом.

Идентификатор справки Отображает список идентификаторов контекста, используемых для вывода нужного раздела справки при нажатии кнопки , в то время как в окне просмотра объектов выделена объектная библиотека.

Аргументы условной компиляции Список описаний констант, используемых для условной компиляции.

Окна диалога Выбор рисунка, Выбор значка

Загружают существующий файл с картинкой или значком.

Параметры окна диалога

Папка

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

Переход на один уровень вверх

Отображает список папок или дисков, находящихся на один уровень выше текущей папки.

Создать новую папку

Создает новую папку.

Мелкие значки

Отображает папки и файлы в виде списка маленьких значков и имен.

Сведения

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

Имя файла

Служит для ввода или выбора имени открываемого файла картинки.

Тип файлов

Служит для выбора типа файла. Файлы выбранного типа появляются в списке имен файлов.

· Графические файлы (*.bmp, *.dib, *.wmf, *.emf, *.ico, *.cur)—отображает все графические файлы.

· Растровые рисунки (*.bmp, *.dib)—отображает файлы формата .BMP и .DIB.

· Метафайлы (*.wmf, *.wmf)—отображает метафайлы Microsoft Windows.

· Значки (*.ico, *.cur)— отображает файлы со значками.

· Все файлы (*.*)—отображает файлы всех типов.

Открыть

Открытие выбранного файла.

Отмена

Окно диалога Ссылки

Закрытие окна диалога без загрузки файла с картинкой.

Позволяет сделать объект другого приложения доступным в программа путем установки ссылки на объектную библиотеку этого приложения..

Параметры окна диалога

Доступные ссылки Отображает список доступных в проекте ссылок.

· После установки ссылки на объектную библиотеку, посредством пометки ячейки рядом с ее именем, методы и свойства определенных объектов отображаются в окне просмотра объектов.

· Если объекты из библиотеки, на которую делается ссылка, не используются, следует удалить соответствующую этой ссылке пометку, что уменьшит число разрешаемых Visual Basic ссылок и сократит время компиляции проекта. Ссылки на элементы, использованные в проекте, удалить нельзя.

· При удалении ссылки на используемый в проекте объект, следующее обращение к этому объекту приведет к ошибке.

· Неиспользуемые ссылки отображаются в алфавитном порядке.

Примечание. Ссылки "Visual Basic для приложений" и "объекты и процедуры Visual Basic" удалить нельзя, поскольку они необходимы для работы Visual Basic.

Кнопки приоритета Служат для перемещения ссылок вверх и вниз по списку. При обращении в программе к объекту, Visual Basic производит его поиск в порядке, в котором объекты отображаются в окне диалога Ссылки. Если два объекта имеют одинаковые имена, будет использовано описание, расположенное выше по списку в поле Доступные ссылки.

Путь и язык Отображаю имя и путь ссылки, выделенной в поле Доступные ссылки , а также версию языка.

Обзор Отображает окно диалога Добавление ссылки, в котором производится поиск ссылок в других папках и их добавление в поле Доступные ссылки для следующих типов:

· Библиотек типов (*.olb, *.tlb, *.dll)

· Исполняемых файлов (*.exe, *.dll)

· Элементов управления ActiveX (*.ocx)

· Всех файлов (*.*)

Окно диалога Добавление ссылки является стандартным окном открытия файла.

Команда “Прервать” (меню “Запуск”)

Эта команда останавливает выполнение программы и осуществляет переход в режим прерывания. Выполняемая в данный момент инструкция выводится в окне модуля со значком в левом поле, если в окне диалога “Параметры” на вкладке “Формат” установлен флажок “Индикатор полей”. Если приложение находится в состоянии ожидания события в холостом цикле (не выполняются никакие инструкции), инструкция не выделяется цветом, пока не произойдет событие.

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

Кнопка панели инструментов: Клавиша быстрого вызова: CTRL+BREAK.

Клавиши быстрого вызова в окне модуля

Для выполнения команд в окне модуля используются следующие клавиши быстрого вызова.

Описание

Клавиши быстрого вызова

 

Открытие окна модуля

F7

Открытие окна Просмотр объектов

F2

Поиск

CTRL+F

Замена

CTRL+H

Поиск следующего вхождения образца

F3

Поиск предыдущего вхождения образца

SHIFT+F3

Вывод на экран следующей процедуры

CTRL+СТРЕЛКА ВНИЗ

Вывод на экран предыдущей процедуры

CTRL+СТРЕЛКА ВВЕРХ

Открытие описания процедуры

SHIFT+F2

Прокрутка содержимого окна на один экран вниз

CTRL+PAGE DOWN

Прокрутка содержимого окна на один экран вверх

CTRL+PAGE UP

Возврат в предыдущую позицию

CTRL+SHIFT+F2

Переход в начало модуля

CTRL+HOME

Переход в конец модуля

CTRL+END

Перемещение курсора на одно слово вправо

CTRL+СТРЕЛКА ВПРАВО

Перемещение курсора на одно слово влево

CTRL+СТРЕЛКА ВЛЕВО

Перемещение курсора в конец строки

END

Перемещение курсора в начало строки

HOME

Отмена последнего действия

CTRL+Z

Удаление текущей строки

CTRL+Y

Удаление символов до конца слова

CTRL+DELETE

Отступ

TAB

Удаление отступа

SHIFT+TAB

Снятие всех точек останова

CTRL+SHIFT+F9

Вывод контекстного меню

SHIFT+F10

Повторение последнего действия

CTRL+Q

Клавиши общего назначения в окне модуля

Использование сочетаний клавиш в окне модуля:

Сочетание клавиш

Действие

 

F1

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

F2

Открытие окна Просмотр объектов

F9

Установка и снятие точки останова.

CTRL+SHIFT+F9

Снятие всех точек останова.

F5

Запуск подпрограммы/формы или макроса.

F8

Шаг с заходом в процедуру.

SHIFT+F8

Шаг с выполнением процедуры (перешагивание через процедуру).

CTRL+BREAK

Прерывание выполнения программы Visual Basic.

HOME

Перемещение курсора в начало строки

END

Перемещение курсора в конец строки

Двойной щелчок кнопки мыши на полосе разбивки

Удаление линии разбивки.

CTRL+J

Вывод списка свойств/методов.

CTRL+SHIFT+J

Вывод списка констант.

CTRL+I

Вывод кратких сведений.

CTRL+SHIFT+I

Вывод сведений о параметре.

CTRL+ПРОБЕЛ

Завершение слова.

SHIFT+F10

Вызов контекстного меню.

ALT+F5

Запуск программы обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

ALT+F8

Вход в процедуру обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

Клавиши перемещения в окне модуля

Сочетания клавиш для перемещения в окне модуля:

Сочетание клавиш

Действие

 

CTRL+F7

Перемещение места вставки в поле Объект.

SHIFT+F2

Переход к описанию выделенной процедуры.

CTRL+СТРЕЛКА ВНИЗ

Вывод на экран следующей процедуры.

CTRL+СТРЕЛКА ВВЕРХ

Вывод на экран предыдущей процедуры.

PAGE DOWN

Вывод на экран следующей страницы текста программы.

PAGE UP

Вывод на экран предыдущей страницы текста программы.

CTRL+SHIFT+F2

Возврат в предыдущую позицию.

CTRL+HOME

Переход в начало модуля.

CTRL+END

Переход в конец модуля.

CTRL+СТРЕЛКА ВПРАВО

Перемещение курсора на одно слово вправо.

CTRL+СТРЕЛКА ВЛЕВО

Перемещение курсора на одно слово влево.

END

Перемещение курсора в конец строки

HOME

Перемещение курсора в начало строки.

CTRL+PAGE DOWN

Переход в конец текста текущей процедуры.

CTRL+PAGE UP

Переход в начало текста текущей процедуры.

F6

Переходы между верхней и нижней половиной окна (в разделенном окне).

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

Следующие сочетания клавиш используются для редактирования текста программы в окне модуля:

Сочетание клавиш

Действие

 

CTRL+C

Копирование выделенного текста в буфер обмена.

CTRL+X

Удаление выделенного текста в буфер обмена.

DELETE или DEL

Удаление выделенного текста без помещения в буфер обмена

CTRL+V

Вставка содержимого буфера обмена в место вставки.

CTRL+Z

Отмена последней операции редактирования в текущей строке.

CTRL+Y

Удаление текущей строки в буфер обмена.

CTRL+DELETE

Удаление символов до конца слова.

CTRL+BACKSPACE

Удаление символов до начала слова.

F3

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

SHIFT+F3

Поиск предыдущего вхождения образца. Если перед этим не был выполнен поиск, выводится окно диалога Поиск.

SHIFT+TAB

Удаление отступа.

Клавиши быстрого вызова команд меню в окне модуля

Следующие сочетания клавиш используются в окне модуля для быстрого вызова команд меню:

Сочетание клавиш

Действие

 

CTRL+P

Печать

CTRL+Z

Отменить

CTRL+V

Вставить

DEL или DELETE

Удалить

CTRL+F

Найти

F3

Найти далее

CTRL+H

Заменить

TAB

Увеличить отступ

SHIFT+TAB

Уменьшить отступ

CTRL+J

Список свойств/методов

CTRL+SHIFT+J

Список констант

CTRL+I

Краткие сведения

CTRL+SHIFT+I

Сведения о параметре

CTRL+ПРОБЕЛ

Завершить слово

SHIFT+F2

Описание

CTRL+SHIFT+F2

Вернуться к последней позиции

F2

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

CTRL+G

Окно отладки

CTRL+R

Окно проекта

F4

Окно свойств

F8

Шаг с заходом

SHIFT+F8

Шаг с обходом

CTRL+F8

Выполнить до текущей позиции

SHIFT+F9

Контрольное значение

F9

Точка останова

CTRL+SHIFT+F9

Снять все точки останова

F5

Запуск подпрограммы/формы или макроса

CTRL+BREAK

Прерывание программы

SHIFT+F10

Вызов контекстного меню

CTRL+M

Импорт файла

CTRL+E

Экспорт файла

Клавиши быстрого вызова в окне проверки

Использование сочетаний клавиш в окне отладки:

Сочетание клавиш

Действие

 

ENTER

Запуск выбранной строки программы.

CTRL+C

Копирование выделенного текста в буфер обмена.

CTRL+V

Вставка содержимого буфера обмена в место вставки.

CTRL+X

Удаление выделенного текста в буфер обмена.

CTRL+L

Отображение окна диалога Стек вызова (только в режиме прерывания).

F5

Продолжение выполнения программы.

F8

Шаг с заходом в процедуру.

SHIFT+F8

Шаг с выполнением процедуры (перешагивание через процедуру).

DELETE или DEL

Удаление выделенного текста без помещения в буфер обмена

F2

Открытие окна Просмотр объектов.

CTRL+ENTER

Вставка символа возврат каретки.

CTRL+HOME

Перемещение курсора в верхнюю строку окна проверки.

CTRL+END

Перемещение курсора в нижнюю строку окна проверки.

SHIFT+F10

Вызов контекстного меню

ALT+F5

Запуск программы обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

ALT+F8

Вход в процедуру обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

Клавиши быстрого вызова в окне отладки

В окне отладки используются следующие сочетания клавиш:

Сочетание клавиш

Действие

 

SHIFT+ENTER

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

CTRL+W

Отображение окна диалога Изменение контрольного значения.

ENTER

Отображение или скрытие структуры выделенного контрольного значения при наличии слева от него знака плюс (+) или минус (-).

F2

Открытие окна Просмотр объектов.

SHIFT+F10

Вызов контекстного меню

Клавиши быстрого вызова в окне свойств

Клавиши, используемые в списке свойств окна свойств:

Сочетание клавиш

Действие

 

PAGE DOWN

Перемещение по списку свойств вниз.

PAGE UP

Перемещение по списку свойств вверх.

СТРЕЛКА ВНИЗ

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

СТРЕЛКА ВВЕРХ

Перемещение по списку свойств вверх на одну строку

СТРЕЛКА ВПРАВО

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

СТРЕЛКА ВЛЕВО

Перемещение по списку свойств вверх на одно свойство

END

Перемещение к последнему свойству в списке.

HOME

Перемещение к первому свойству в списке

ALT+F6

Переключение между двумя последними активными окнами.

TAB

Перемещения места вставки между полями свойства, значения свойства и объекта.

CTRL+SHIFT+БУКВА

Переход к свойству, начинающемуся на символ БУКВА.

Двойное нажатие кнопки мыши

Циклическое изменение перечисляемого значения свойства или передача фокуса на поле значения свойства для других типов.

Клавиши, используемые в поле значения свойства в окне свойств:

Сочетание клавиш

Действие

 

CTRL+Z

Отмена последней операции редактирования в текущей строке.

CTRL+C

Копирование выделенного текста в буфер обмена.

CTRL+X

Удаление выделенного текста в буфер обмена.

DEL или DELETE

Удаление выделенного текста без помещения в буфер обмена

CTRL+V

Вставка содержимого буфера обмена в место вставки.

SHIFT+TAB

Перемещение фокуса между полем объекта и активной вкладкой свойств.

TAB

Перемещение фокуса между полем объекта, активной вкладкой свойств, свойством и его значением.

ESC

Отмена изменения свойства

CTRL+SHIFT+БУКВА

Переход к следующему свойству в списке, начинающемуся на символ БУКВА.

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

Сочетание клавиш

Действие

 

ALT+СТРЕЛКА ВНИЗ

Открытие списка значений.

ALT+СТРЕЛКА ВВЕРХ

Закрытие списка значений

Клавиши, используемые для установки значений свойств ЦветФона, ЦветТекста, ЦветЗаливки и ЦветГраницы в окне свойств:

Сочетание клавиш

Действие

 

ALT+СТРЕЛКА ВНИЗ

Отображение цветовой палитры.

ALT+СТРЕЛКА ВВЕРХ

Скрытие цветовой палитры.

Клавиши, используемые для установки значений свойств Значок и Рисунок в окне свойств:

Сочетание клавиш

Действие

 

ALT+СТРЕЛКА ВНИЗ

Отображает окно диалога Загрузить значок или Загрузить рисунок.

ALT+СТРЕЛКА ВВЕРХ

Отображает окно диалога Загрузить значок или Загрузить рисунок.

Клавиши быстрого вызова в окне проекта

Клавиши, используемые в окне проекта:

Сочетание клавиш

Действие

 

ENTER

Открытие выделенного в списке файла либо отображение или скрытие его структуры.

SHIFT+ENTER

Открытие для выделенного файла окна модуля.

F7

Открытие для выделенного файла окна модуля.

SHIFT+F10

Вызов контекстного меню.

HOME

Выделение первого файла в списке.

END

Выделение последнего файла в списке.

СТРЕЛКА ВПРАВО

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

СТРЕЛКА ВЛЕВО

Выделение записи в списке и перемещение на уровень вверх при каждом нажатии, пока не достигнут самый верхний уровень.

СТРЕЛКА ВВЕРХ

Перемещение вниз по списку на одну запись.

СТРЕЛКА ВНИЗ

Перемещение вверх по списку на одну запись

Глобальные клавиши быстрого вызова

Следующие сочетания клавиш используются во всех окнах Visual Basic:

Сочетание клавиш

Действие

 

F5

Запуск подпрограммы/формы или макроса.

F8

Шаг с заходом в процедуру.

SHIFT+F8

Выполнение одной строки инструкций, без входа в процедуры.

CTRL+BREAK

Прерывание выполнения программы Visual Basic.

CTRL+G

Отображение она проверки

ALT+F5

Запуск программы обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

ALT+F8

Вход в процедуру обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

CTRL+TAB

Переключение между окнами.

Клавиши быстрого вызова в окне UserForm

В окне UserForm используются следующие сочетания клавиш:

Сочетание клавиш

Действие

 

SHIFT+CTRL+БУКВА

Выбор свойства из списка свойств в окне свойств.

БУКВА

Ввод значения выбранного свойства в окне свойств.

F7

Открытие для выделенного объекта окна модуля.

DEL или DELETE

Удаление выделенных элементов удаления без помещения в буфер обмена.

CTRL+Z

Отмена удаления элементов управления.

TAB

Циклическое перемещение вперед от одного элемента управления к другому в последовательности перехода.

SHIFT+TAB

Циклическое перемещение назад от одного элемента управления к другому в последовательности перехода.

CTRL+НАЖАТИЕ КНОПКИ МЫШИ

Добавление или исключение элемента управления из выделенной группы.

НАЖАТИЕ КНОПКИ МЫШИ+ПЕРЕМЕЩЕНИЕ МЫШИ

Выбор нескольких элементов управления.

SHIFT+ НАЖАТИЕ КНОПКИ МЫШИ

Выбор нескольких элементов управления.

CTRL+ НАЖАТИЕ КНОПКИ МЫШИ +ПЕРЕМЕЩЕНИЕ МЫШИ

Добавление или исключение элементов управления из выделенной группы.

F4

Отображение окна свойств (только во время разработки).

SHIFT+F10

Вызов контекстного меню.

CTRL+J

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

CTRL+K

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

Чтобы снять выделение со всех элементов управления следует выбрать мышью форму. Чтобы выбрать отдельные элементы из выделенной группы, следует снять выделение с группы, а затем с помощью нажатия и удержания клавиши CTRL, кнопки мыши и перемещения мыши выделить нужные элементы.

Команда “Параметры” (меню “Сервис”)

Команда выводит окно диалога “Параметры”, где возможен выбор вкладки для установки параметров среды программирования Visual Basic.

Вкладки

· Редактор

· Формат

· Общие

· Закрепление

Команда Удалить <Элемент>... (меню Файл)

Удаляет активную форму или модуль из проекта. Команда недоступна, если в окне проекта не выделен ни один элемент.

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

Перед удаление элемента выдается запрос, следует ли экспортировать этот элемент в файл. Если в окне сообщения нажать кнопку Да, появится окно диалога Экспорт файла. Если ответить Нет, элемент будет удален.

Важно. Эта команда не может быть отменена.

Команды Очистить и Удалить (меню Правка)

Очистить Удаляет текст, только когда активен модуль.

Удалить В других случаях название изменяется на Удалить. Команда удаляет выделенный элемент управления, текст, или контрольное выражение. Команда может быть отменена в окне модуля или в форме, если удален элемент управления.

Кнопка панели инструментов: . . Клавиша быстрого вызова: DEL.

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

Команда Импорт файла и Экспорт файла (меню “Файл”)

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

Импорт файла Отображает окно диалога импорта файлов, в котором в проект добавляется существующие форма или модуль. В проект добавляется копия исходного файла, а сам файл остается нетронутым. При добавлении формы или модуля, имя которых совпадает с существующим в проекте, к имени файла добавляется число.

Импортированные компоненты отображаются в окне проекта.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+M.

Экспорт файла Отображает окно диалога экспорта файла для извлечения из проекта активных формы или модуля. Файл копируется во внешний.

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

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+E.

Команда Сброс <проект> (меню Запуск)

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

Кнопка панели инструментов: .

Команды Конструктор и Выход из конструктора (меню “Запуск”)

Включает или выключает для проекта режим конструктора. Режим конструктора - период времени, в течении которого в проекте не выполняется ни одна программа. Выход из этого режима может быть осуществлен с помощью выполнения макроса или использования области проверки.

Конструктор Выполняет переход в режим конструктора и изменяется на Выход из конструктора.

Выход из конструктора Выполняет выход из режима конструктора и очищает все переменные уровня модуля в проекте.

Кнопка панели инструментов:

Команда UserForm (меню Вставка)

Создает новую форму и добавляет ее в проект.

Команды Запуск подпрограммы/формы, Продолжить и Запуск макроса (меню “Запуск”)

Запуск подпрограммы/формы Если курсор находится в процедуре, запускает текущую процедуру. Если же активна форма, будет запущена она. В режиме прерывания команда изменяется на Продолжить.

Если ни окно модуля, ни UserForm не активны, название команды изменяется на Запуск макроса.

Продолжить Возобновляет выполнение текущей процедуры или формы.

Запуск макроса Запускает макрос.

Команда Закрыть и вернуться в <приложение> (меню “Файл”)

Закрывает среду разработчика и возвращает пользователя в главное приложение. Visual Basic скрывается, но остается в памяти.

Команда Компилировать <проект> (меню Отладка)

Компилирует проект.

Кнопка панели инструментов: .

Команда Объект (меню “Вставка”)

Вставляет в активную форму объект.

Недоступна, если нет открытых форм, а также в режиме прерывания.

Кнопка панели инструментов: .

Команда Сохранить <документ> (меню “Файл”)

Сохраняет текущий проект, а также все его компоненты – формы и модули – в виде документа.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+5.

Команда Макрос (меню Сервис)

Отображает окно диалога Макрос для создания, изменения, удаления и запуска макросов.

Команда <приложение> (меню “Вид”)

Помещает приложение на передний план редактора Visual Basic для удобного просмотра. Название команды изменяется на имя приложения.

Клавиша быстрого вызова: ALT+F11.

Команда Процедура (меню “Вставка”)

Добавляет в активный модуль процедуру Sub, процедуру Function или процедуру Property.

Доступна только в окне модуля.

Кнопка панели инструментов: .

Команды Модуль и Модуль класса (меню “Вставка”)

Модуль Создает новый стандартный модуль и добавляет его в активный проект.

Кнопка панели инструментов:

Модуль класса Создает новый модуль класса и добавляет его в активный проект.

Кнопка панели инструментов:

Команда Файл (меню “Вставка”)

Отображает окно диалога Вставка файла для добавления текста существующего модуля в текущее положение курсора.

Доступна только в редакторе.

Команда Порядок перехода (меню “Вид”)

Для активной формы отображает окно диалога Последовательность перехода.

Кнопка панели инструментов:

Команды Группировать и Разделить (меню “Формат”)

Группирует или разгруппирует выделенные объекты.

Группировать Создает группу.

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

Примечание. Не допускается создание групп внутри группы (вложенная группировка).

Кнопка панели инструментов: .

Разделить Разгруппирует ранее сгруппированные объекты,.

Кнопка панели инструментов: .

Команды Упорядочить кнопки (меню “Формат”)

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

Упорядочить по нижнему краю Располагает кнопки вдоль нижней границы формы с равными промежутками.

Кнопка панели инструментов:

Упорядочить по правому краю Располагает кнопки вдоль правой границы формы с равными промежутками.

Кнопка панели инструментов:

Команда Подогнать размер (меню “Формат”)

Изменяет высоту и ширину объекта так, чтобы в нем полностью помещалось содержимое.

Кнопка панели инструментов:

Команда Ссылки (меню “Сервис”)

Отображает окно диалога Ссылки, где возможно добавление в проект ссылки на объектную библиотеку или библиотеку типов.. Это делает объекты других приложений доступными в программе. При установке ссылки соответствующие объекты появляются в окне просмотра объектов.

Допускается добавление ссылок на другие загруженные или сохраненные проекты. Если проект не был сохранен, он отображается в виде "НЕСОХРАНЕННЫЙ: <ИмяПроекта>" и установка ссылок на него невозможна.

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

Команда Дополнительные элементы... (меню “Сервис”)

Отображает окно диалога Дополнительные элементы, используемое для добавления на панель элементов дополнительных элементов управления и вставляемых объектов (таких как документ Microsoft Word).

Команда Свойства <имя проекта>... (меню “Сервис”)

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

Кнопка панели инструментов: .

Команда Удалить страницу (контекстное меню)

Удаляет выбранную страницу панели элементов.

Команды Импорт страницы и Экспорт страницы (контекстное меню)

Импортирует и экспортирует страницы.

Импорт страницы Отображает окно диалога Импорт страницы, где выполняется поиск и выбор станицы, добавляемой к панели элементов.

Окно диалога Импорт страницы является стандартным окном открытия файла в Windows.

Экспорт страницы Отображает окно диалога Экспорт страницы, где для экспортируемой из панели элементов страницы задается новое имя и местоположение.

Окно диалога Экспорт страницы является стандартным окном сохранения файла в Windows.

Команда Создать страницу (контекстное меню)

Добавляет новую страницу с именем Новая страница. Для изменения имени служит команда Переименовать контекстного меню.

Допускается наличие нескольких страниц с именем Новая страница.

При добавлении к панели элементов новой страницы, в нее автоматически включается инструмент Выбор объектов.

Команда Переименовать (контекстное меню)

Отображает окно диалога Переименовать, где возможно изменение имени выделенной страницы, создание для нее клавиши быстрого вызова или подсказки.

Параметры окна диалога

Подпись Позволяет задать новое имя страницы.

Текст подсказки Позволяет создать подсказку для страницы.

Команда Удалить <Элемент> (контекстное меню)

Удаляет выделенный элемент панели элементов. Для добавления элемента служит команда Дополнительные элементы... контекстного меню.

Команда Изменить <Элемент> (контекстное меню)

Отображает окно диалога изменения элемента управления, где для выделенного элемента возможно изменение текста подсказки или значка.

Команда Дополнительные элементы... (контекстное меню)

Отображает окно диалога изменения элемента управления для добавления элементов управления и вставляемых объектов.

Команда Вставить объект... (контекстное меню)

Отображает окно диалога вставики объекта.

Команды Копировать и Переместить (контекстное меню)

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

Копировать Копирует выделенный элемент управления в новое место.

Переместить Перемещает выделенный элемент управления в новое место.

Отменить Отменяет операцию.

Справка по Microsoft Visual Basic

Если помощник по Office не виден, отображает его и окно подсказок. Если помощник виден, отображает окно подсказок.

Кнопка панели инструментов: . Клавиша быстрого вызова: F1.

Вызов справки

Отображает окно диалога справки по Visual Basic, в котором возможен поиск по алфавитному указателю или полный поиск текста.

Кнопка панели инструментов: .

Microsoft на Web

Выполняет соединение с Интернет для получения дополнительных сведений и поддержки.

Для использования этой команды необходимо иметь модем или быть подключенным к Интерент и средству просмотра Worldwide Web.

О программе

Отображает окно диалога, содержащее номер версии, сведения об авторстве и информацию о системе.

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

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

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

Кнопки панели инструментов

Отобразить <приложение>

Выполняет переключение между приложением и активным документом Visual Basic.

Вставить

Отображает меню для выбора вставляемого в активный проект объекта. Значок на кнопке изменяется на изображение последнего вставленного объекта. По умолчанию это форма.

— UserForm

Модуль

Модуль класса

— Процедура

Сохранить <имя документа>

Сохраняет документ, включая проект и все его компоненты — формы и модули.

Вырезать

Удаляет выделенный элемент управления или текст в буфер обмена.

Копировать

Копирует выделенный элемент управления или текст в буфер обмена.

Вставить

Вставляет содержимое буфера обмена в текущую позицию.

Найти

Отображает окно диалога Поиск и выполняет поиск текста, заданного в поле Образец.

Отмена

Отменяет последнюю операцию редактирования.

Возврат

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

Запуск подпрограммы/формы или Запуск макроса

Если курсор находится внутри процедуры - запускает процедуру, если активна UserForm - запускает UserForm, иначе запускает макрос.

Прервать

Останавливает выполнение программы и выполняет переход в режим прерывания.

Сброс <проекта>

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

Режим конструктора

Включает и выключает режим конструктора.

Окно проекта

Отображает окно проекта, в котором выводится иерархический список открытых проектов и их содержимого.

Окно свойств

Отображает окно свойств, используемое для просмотра свойств выделенного элемента управления.

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

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

Панель элементов

Отображает либо скрывает панель элементов, содержащую все доступные в приложении элементы управления и вставляемые объекты (такие как диаграмма Microsoft Excel). Доступна только когда активна UserForm.

Помощник по Office

Отображает помощника по Office, используемого для получения справки о команде, окне диалога или активном окне.

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

Содержит кнопки для быстрого вызова наиболее часто используемых при работе с формами команд меню.

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

Кнопки панели инструментов

На передний план

Помещает выделенные объекты в форме перед всеми остальными.

На задний план

Помещает выделенные объекты в форме позади всех остальных.

Сгруппировать

Создает из выделенных объектов группу.

Разгруппировать

Выровнять

По левому краю — выравнивает горизонтальное положение выбранных объектов, помещая их левые границы на одну линию.

По центру — выравнивает горизонтальное положение выбранных объектов, помещая их центры на одну линию.

По правому краю — выравнивает горизонтальное положение выбранных объектов, помещая их правые границы на одну линию.

По верхнему краю — выравнивает вертикальное положение выбранных объектов, помещая их верхние границы на одну линию.

По середине — выравнивает вертикальное положение выбранных объектов, помещая их середины на одну линию.

По нижнему краю — выравнивает вертикальное положение выбранных объектов, помещая их нижние границы на одну линию.

По узлам сетки — помещает верхний левый угол выделенных объектов в ближайший узел сетки. Размер объектов не изменяется.

Центрировать

По горизонтали — центрирует выделенные объекты по горизонтали.

По вертикали — центрирует выделенные объекты по вертикали.

Выровнять размер

по ширине — Корректирует ширину.

по высоте — Корректирует высоту.

по ширине и высоте — Корректирует как ширину, так и высоту.

Масштаб

Уменьшает или увеличивает изображение всех элементов управления в UserForm. Допускается выбор коэффициента масштабирования в диапазоне от 10 до 400 процентов.

Панель инструментов Отладка

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

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

Кнопки панели инструментов

Режим конструктора

Включает и выключает режим конструктора.

Запуск подпрограммы/формы или Запуск макроса

Если курсор находится внутри процедуры - запускает процедуру, если активна UserForm - запускает UserForm, иначе запускает макрос.

Прервать

Останавливает выполнение программы и выполняет переход в режим прерывания.

Сброс <проекта>

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

Точка останова

Устанавливает или удаляет в текущей строке точку останова.

Шаг с заходом

Шаг с заходом в процедуру.

Шаг с обходом

Шаг с выполнением процедуры (перешагивание через процедуру).

Шаг с выходом

Выполняет оставшиеся инструкции процедуры, в которой находится текущая точка выполнения.

Область Локальные

Отображает область Локальные окна отладки.

Область проверки

Отображает область проверки окна отладки.

Область Контрольные

Отображает область Контрольные окна отладки.

Контрольное значение

Отображает окно диалога Контрольное значение, в котором выводится текущее значение выделенного выражения.

Стек вызова

Отображает окно диалога Стек вызова, в котором выводится список активных вызовов процедур (запущенных, но еще не завершившихся).

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

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

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

Кнопки панели инструментов

Список свойств/методов

В окне модуля выводит раскрывающийся список, содержащий доступные для объекта свойства и методы.

Список констант

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

Краткие сведения

Выводит синтаксис использования выбранной в окне модуля переменной, функции, инструкции, метода или процедуры.

Сведения о параметре

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

Завершить слово

Завершает ввод набираемого слова, если только введено достаточно символов для распознавания слова Visual Basic.

Увеличить отступ

Смещает все выделенные строки в следующую позицию табуляции.

Уменьшить отступ

Смещает все выделенные строки в предыдущую позицию табуляции.

Точка останова

Устанавливает или удаляет в текущей строке точку останова.

Закомментировать блок

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

Раскомментировать блок

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

Закладка

Снимает или устанавливает закладку в текущей строке окна модуля.

Следующая закладка

Перемещает фокус к следующей закладке в стеке закладок.

Предыдущая закладка

Перемещает фокус к предыдущей закладке в стеке закладок.

Снять все закладки

Удаляет все закладки.

Окно диалога Параметры

Служит для изменения заданных по умолчанию настроек среды разработчика Visual Basic.

Окно диалога Параметры содержит следующие вкладки:

· Редактор

· Формат

· Общие

· Закрепление

Окно диалога Экспорт файла

Служит для задания имени и местоположения экспортируемого файла.

Параметры окна диалога

Папка

Служит для выбора папки, в которой будет сохранен файл.

Переход на один уровень вверх

Отображает список папок или дисков, находящихся на один уровень выше текущей папки.

Создать новую папку

Создает новую папку.

Сведения

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

Мелкие значки

Отображает папки и файлы в виде списка маленьких значков и имен.

Имя файла

Если не указано расширение имени файла, Visual Basic автоматически добавляет расширение по умолчанию: .frm для форм, .bas для модулей, .cls для модулей класса.

Тип файлов

Служит для выбора типа файла:

· Файлы форм (*.frm) — отображает все формы.

· Файлы программ на Basic (*.bas) — отображает все стандартные модули.

· Файлы классов (*.cis) — отображает все модули класса.

Окно диалога Импорт файла

Позволяет выбрать импортируемый файл.

Параметры окна диалога

Папка

Служит для выбора папки, в которой находится открываемый проект.

Переход на один уровень вверх

Отображает список папок или дисков, находящихся на один уровень выше текущей папки.

Создать новую папку

Создает новую папку.

Мелкие значки

Отображает папки и проекты в виде списка маленьких значков и имен.

Сведения

Отображает папки и проекты в виде списка, включающего значок, имя, размер, тип, дату и время последнего изменения.

Имя файла

Служит для ввода или выбора имени импортируемого файла.

Тип файлов

Служит для выбора типа файла; по умолчанию задается тип Проект Visual Basic (*.frm, *.bas, *.cls). Файлы выбранного типа появляются в списке имен файлов.

Открыть

Открытие выбранного файла.

Отмена

Закрытие окна диалога без открытия проекта.

Панель элементов

Отображает стандартные элементы управления Visual Basic, а также все добавленные в проект элементы управления ActiveX и вставляемые объекты.

· Допускается настройка панели элементов путем добавления к ней страниц или элементов управления с помощью команды Дополнительные элементы... из меню Сервис.

При добавлении страницы в нее автоматически вставляется инструмент Выбор объектов.

Стандартные элементы управления панели элементов

Выбор объектов

Это единственный инструмент на панели элементов, не создающий никаких элементов управления. Он служит для изменения размеров и положения элементов формы.

Надпись

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

Поле

Содержит вводимый и изменяемый пользователем текст.

Поле со списком

Вставляет объект, являющийся сочетанием списка и поля. Пользователь может либо выбрать нужное значение из списка, либо ввести его в поле.

Список

Вставляет список выбираемых пользователем элементов. Допускается прокручивание списка, если не все его элементы видны одновременно.

Флажок

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

Переключатель

Используется для предоставления выбора одного варианта из многих.

Выключатель

Создает кнопку, имеющую два состояния: включено и выключено.

Группа

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

Кнопка

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

Набор вкладок

Позволяет создать несколько станиц в одной и той же области окна или окна диалога.

MultiPage

Служит для представления нескольких экранов информации в виде единого набора.

Полоса прокрутки

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

SpinButton

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

Рисунок

Отображает в форме точечный рисунок, значок или метафайл. Картинки в элементе управления рисунок являются декоративными и требуют меньше ресурсов, чем PictureBox.

Вкладка Общие (окно диалога “Параметры”)

Задает параметры настройки, обработки ошибок и компиляции текущего проекта Visual Basic.

Параметры вкладки

Параметры сетки в форме Определяет внешний вид формы во время ее редактирования.

· Показать сетку — определяет, показывать ли сетку.

· Размеры сетки — отображает используемые для формы единицы сетки.

· по ширине: — задает ширину ячеек сетки в форме (от 2 до 60 точек).

· по высоте: — задает высоту ячеек сетки в форме (от 2 до 60 точек).

· Привязка элементов к сетке — автоматически располагает внешние границы элементов управления на линиях сетки.

Всплывающие подсказки Отображает подсказку по кнопкам панели инструментов.

Скрытие окон при сбое Определяет, должно ли быть автоматически закрыто окно проекта, UserForm, объекта или модуля, при сворачивании проекта в окне проекта.

Правка и продолжение

· Уведомить о потере состояния — определяет, должно ли отображаться сообщение, уведомляющее о том, что запрошенная операция приведет к сбросу всех переменных уровня модуля в проекте.

Перехват ошибок. Останов: Определяет способ обработки ошибок в среде разработчика Visual Basic. Изменение этих параметров будет влиять на все запущенные позднее копии Visual Basic.

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

· Останов в модуле класса — любая необрабатываемая ошибка в модуле класса переводит проект в режим прерывания на строке модуля класса, вызвавшей ошибку.

· Останов на необрабатываемых ошибках — если обработчик ошибок активен, переход в режим прерывания не выполняется. Если же нет активного обработчика ошибок проект переводится в режим прерывания. Однако необрабатываемая ошибка в модуле класса переводит проект в режим прерывания на строке программы, вызвавшей процедуру, в которой произошла ошибка.

Компиляция

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

· В фоновом режиме — определяет следует ли использовать времена простоя при работе приложения для завершения компиляции проекта в фоновом режиме. Это позволяет увеличить скорость выполнения. Эта возможность недоступна, если выбран параметр Компиляция по запросу .

Вкладка Формат (окно диалога “Параметры”)

Определяет внешний вид программы на Visual Basic.

Параметры вкладки

Использование цвета Задает цвета фона и текста для типа выбранного в списке текста.

· Текстовая область — список элементов с настраиваемыми цветами.

· Текст — задает цвет текста, выбранного в списке Текстовая область.

· Фон — задает цвет фона для текста, выбранного в списке Текстовая область

· Индикатор — задает цвет индикатора на полях.

Шрифт Задает используемый для всего текста программы шрифт.

Размер Задает используемый для всего текста программы размер шрифта.

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

Образец Отображает пример текста, оформленного с помощью выбранных атрибутов.

Вкладка Редактор (окно диалога “Параметры”)

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

Параметры вкладки

Программирование

· Проверка синтаксиса — определяет, должен ли Visual Basic автоматически проверять правильность синтаксиса после ввода строки программы.

· Явное описание переменных — определяет необходимость явного описания переменных в модулях. Выбор этого параметра приведет к добавлению инструкции Option Explicit в раздел общих описаний всех создаваемых модулей.

· Список компонентов — отображает список данных, логически завершающих инструкцию, расположенную в месте вставки.

· Краткие сведения — отображает сведения о функции и ее параметрах по мере ввода ее имени.

· Подсказка значений — отображает значение переменной, на которой установлен курсор. Эта возможность доступна только в режиме прерывания.

· Автоотступ — позволяет задавать положение табуляции только для первой строки – следующие строки будут начинаться с того же положения.

· Интервал табуляции — устанавливает интервал табуляции в пределах от 1 до 32 пробелов; по умолчанию используется значение 4.

Параметры окна

· Перетаскивание текста — позволяет использовать мышь для перемещения элементов внутри текущего окна модуля, а также между окном модуля и областями проверки и Контрольные.

· Полный модуль — для вновь открываемых модулей устанавливает возможность просмотра в окне модуля как списка всех процедур, так одной конкретной процедуры. Этот параметр не влияет на просмотр в открытых модулях.

· Разделитель процедур — позволяет скрывать и отображать разделяющую полосу, появляющуюся в конце каждой процедуры в окне модуля.

Окно диалога Редактор кнопок

Инструмент для изменения значков панели элементов.

Параметры окна диалога

Рисунок Поточечно отображает значок.

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

— при каждом нажатии перемещает картинку на один ряд точек вверх, пока не достигнут самый верхний ряд.

— при каждом нажатии перемещает картинку на один ряд точек вниз, пока не достигнут самый нижний ряд.

— при каждом нажатии перемещает картинку на один столбец точек вправо, пока не достигнут самый правый столбец.

— при каждом нажатии перемещает картинку на один столбец точек влево, пока не достигнут самый левый столбец.

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

Удалить — Удаляет цвет со всех точек, выбранных с помощью мыши, после пометки данной ячейки.

Просмотр Отображает внешний вид редактируемого значка.

Очистить Удаляет картинку из поля рисования.

OK Назначает измененную картинку элементу управления.

Окно диалога Макрос

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

Параметры окна диалога

Имя макроса Содержит имя выделенного макроса или пусто, если в поле Макросы нет макросов.

Макросы Отображает список всех макросов в проекте, выделенном в поле Макросы в.

Макросы в Отображает список доступных проектов.

Выполнить Запускает выделенный макрос.

Шаг Выделяет цветом первую строку макроса и помещает в ней маркер текущей выполняемой строки.

Изменить Открывает окно модуля с выделенным макросом, в котором возможно его изменение.

Создать В окне модуля открывает модуль для создания нового макроса.

Удалить Удаляет выделенный макрос из проекта.

Вкладка Защита (окно диалога Свойства проекта)

Устанавливает защиту проекта.

Параметры окна диалога

Блокировка проекта Позволяет заблокировать проект и предотвратить его изменение посторонними лицами.

· Блокировать проект для просмотра — Запрещает просмотр и изменение проекта.

Пароль для просмотра свойств проекта Устанавливает пароль, позволяющий просматривать свойства проекта.

· Пароль — Установка пароля для проекта. Если параметр Блокировать проект для просмотра не выбран, но установлен пароль, для отображения окна свойств при следующем открытии проекта потребуется ввести этот пароль.

· Подтверждение — Служит для подтверждения пароля, введенного в поле Пароль. При нажатии кнопки OK содержимое этих полей должно совпадать, иначе будет выведено сообщение об ошибке.

Окно диалога порядка страниц

Служит для изменения порядка страниц в наборе вкладок.

Параметры окна диалога

Порядок страниц Отображает список страниц-вкладок в порядке слева направо.

Вверх При каждом нажатии перемещает выделенную страницу на одну позицию вверх.

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

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

Позволяет задать текст подсказки и изменить значок элемента управления.

Параметры окна диалога

Текст всплывающей подсказки Содержит текст подсказки для данного элемента.

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

Изменить рисунок Отображает окно диалога, в котором возможно изменение значка.

Загрузить рисунок Отображает окно диалога Выбор рисунка. Это окно является стандартным окном открытия файла.

Вкладка Закрепление (окно диалога “Параметры”)

Позволяет задать закрепленные окна. Окно считается закрепленным, когда его положение на экране, в окне приложения или в другом закрепленном окне зафиксировано. При перемещении такого окна оно остается "привязанным" к своему положению. Если окно может быть перемещено и оставлено в новом месте – оно не закреплено.

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

Окно диалога Вставка объекта

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

Параметры окна диалога

Создать новый Отображает список Тип объекта, в котором следует выбрать тип создаваемого объекта.

· Тип объекта — список доступных объектов.

Создать из файла Отображает поле Файл и кнопку Обзор для выбора файла, вставляемого в форму в виде объекта.

· Файл — Отображает имя и путь вставляемого файла.

· Обзор — Открывает стандартное окно просмотра для поиска вставляемого файла.

Результат Отображает сведения о параметрах окна диалога или выбранном объекте.

Окно диалога Вставка файла

Служит для поиска и вставки файла в модуль проекта.

Параметры окна диалога

Папка

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

Переход на один уровень вверх

Отображает список папок или дисков, находящихся на один уровень выше текущей папки.

Создать новую папку

Создает новую папку.

Мелкие значки

Отображает папки и документы в виде списка маленьких значков и имен.

Сведения

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

Имя файла

Служит для ввода или выбора имени вставляемого файла.

Тип файлов

Служит для выбора типа файла; по умолчанию задаются текстовые файлы (*.txt). Файлы выбранного типа появляются в списке имен файлов.

Открыть

Вставка выбранного файла.

Отмена

Закрытие окна диалога без вставки файла.

Окно UserForm

Позволяет создавать в проекте окна и окна диалога. Допускается рисование и просмотр элементов правления в форме.

При разработке формы:

· Каждое окно имеет кнопки Развернуть, Свернуть и Закрыть.

· Возможен просмотр и изменение размеров сетки формы на вкладке Общие окна диалога “Параметры”.

· Кнопки панели элементов служат для вставки в форму элементов управления. На вкладке Общие окна диалога “Параметры” возможно задать выравнивание элементов по линиям сетки.

Окно диалога Дополнительные элементы...

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

Параметры окна диалога

Доступные элементы Отображает доступные специальные элементы управления.

Примечание. Используемые в проекте элементы управления не могут быть удалены.

Показать Определяет элементы, выводимые в списке доступных элементов. Возможен выбор любого из следующих вариантов.

· Только выбранные элементы — Отображает только те элементы из списка доступных элементов, которые выбраны для включения в проект.

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

Окно диалога Последовательность перехода

Отображает порядок перехода между объектами и позволяет его изменять.

Параметры окна диалога

Последовательность Список объектов в порядке расположения их в форме.

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

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

Окно диалога Вставка процедуры

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

Параметры окна диалога

Имя Имя новой процедуры.

Тип Задает тип создаваемой процедуры.

· Подпрограмма (Sub) — Создает новую процедуру Sub.

· Функция (Function) — Создает новую процедуру Function.

· Свойство (Property) — Создает пару процедур свойства Let и Get.

Область определения Устанавливает общую или личную область определения процедуры.

Все локальные переменные считать статическими Добавляет в описание процедуры ключевое слово Static.

OK Вставляет шаблон процедуры в окно модуля.

Отмена Закрывает окно диалога без вставки новой процедуры.

Команда Программа (меню Вид)

Выводит окно модуля класса для выделенного объекта.

Кнопка панели инструментов: . Клавиша быстрого вызова: F7.

Команда Вернуться к последней позиции (меню “Вид”)

Эта команда позволяет быстро перемещаться из одного места программы в другое. Команда доступна в окне модуля, только если редактировался текст программы или вызывалась команда Описание. В Visual Basic сохраняются последние 8 строк, над которыми выполнялись какие-либо операции.

Клавиша быстрого вызова: CTRL+SHIFT+F2.

Команда Просмотр объектов (меню “Вид”)

Выводит окно просмотра объектов со списками библиотек объектов, библиотек типов, классов, методов, свойств, событий и констант, которые могут использоваться в программе, а также модули и процедуры, описанные в текущей базе данных.

Кнопка панели инструментов: . Клавиша быстрого вызова: F2.

Команда Свойства (меню “Вид”)

Выводит окно свойств, в котором перечисляются свойства времени разработки для выделенной формы, элемента управления, класса, проекта или модуля.

Кнопка панели инструментов: . Клавиша быстрого вызова: F4.

Команда Панель элементов (меню “Вид”)

Выводит или скрывает панель элементов, содержащую доступные в настоящий момент элементы управления.

Кнопка панели инструментов: .

Команда Стек вызова (меню “Вид”)

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

При выполнении Visual Basic процедуры, она заносится в список активных вызовов. Если эта процедура вызывает другую, в списке активных вызовов оказывается уже две процедуры. Каждый раз, при вызове процедурой другой процедуры Sub, процедуры Function или процедуры Property, последняя добавляется в список. Процедура удаляется из списка, как только управление возвращается в вызывающую процедуру. Вызванные из окна проверки процедуры также вносятся в список вызовов.

Вызов окна диалога также возможен с путем нажатия кнопки вызова (...) рядом с полем процедуры в области Локальные окна отладки.

Кнопка панели инструментов: Клавиша быстрого вызова: CTRL+L.

Команда Объект (меню “Вид”)

Выводит активный элемент.

Кнопка панели инструментов: . Клавиша быстрого вызова: SHIFT+F7.

Команда Окно отладки (меню “Вид”)

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

Окно проверки полезно использовать для:

· Тестирования сложного или нового текста программы.

· Запроса или изменения значения переменной во время выполнения программы. При остановке следует присвоить переменной новое значение точно так, как это делается в программе.

· Запроса или изменения значения свойства во время выполнения программы.

· Вызова процедуры таким же образом, как это делается в программе.

· Просмотра отладочной информации, выводимой программой во время выполнения.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+G.

Команда Окно локальных переменных (меню “Вид”)

Отображает область Локальные окна отладки и автоматически показывает все переменные из текущего стека и их значения.

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

Кнопка панели инструментов: .

Команда Окно контрольного значения (меню “Вид”)

Отображает область Контрольные окна отладки, а также текущие контрольные выражения. Если в текущей базе данных описаны контрольные выражения, область Контрольные появляется автоматически.

Если при входе в режим прерывания содержание выражения находится вне области определения, текущее его значение не показывается.

Кнопка панели инструментов: .

Команда Описание (меню “Вид”)

Эта команда выводит в окне модуля место описания переменной или процедуры, на имя которой установлен указатель. Если описание находится в ссылаемой библиотеке, оно выводится в окне просмотра объектов.

Клавиша быстрого вызова: SHIFT+F2.

Команда Панели инструментов (меню “Вид”)

Выбор этой команды приводит к появлению списка встроенных в Visual Basic панелей инструментов, также команды Настройка. Возможно:

· Включение и выключение панелей инструментов

· Перемещение панелей инструментов по рабочему столу.

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

Правка Выводит панель инструментов Правка, содержащую кнопки для общих команд редактирования.

Стандарт Выводит панель инструментов Стандарт, являющуюся панелью инструментов по умолчанию.

UserForm Выводит панель инструментов UserForm, содержащую кнопки для работы с формой.

Настройка Выводит окно диалога Настройка, где возможна настройка или создание панелей инструментов и строк меню.

Команда Окно проекта (меню “Вид”)

Эта команда выводит Окно проекта с иерархическим списком открытых баз данных и их содержимым.

Окно проекта является инструментом лишь для перемещения и управления. Невозможно с его помощью построить приложение.

Кнопка панели инструментов: . Клавиша быстрого вызова: CTRL+R.

Окно просмотра объектов

Окно или область окна контрольного значения

Команды меню “Окно”

“Разделить”

Переключает разделение окна модуля горизонтально на две части. Эта команда доступна, только когда активно окно модуля.

Кнопка панели инструментов:

“Сверху вниз”

Размещает все окна открытого документа проекта горизонтально.

Кнопка панели инструментов:

“Слева направо”

Размещает все окна открытого документа проекта вертикально.

Кнопка панели инструментов:

“Каскадом”

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

Кнопка панели инструментов:

“Упорядочить значки”

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

“Список окон”

Выводит список всех окон открытого документа.

 

Устранение конфликтов имен

При попытке создать или использовать идентификатор , определенный ранее, возникает конфликт имен. В некоторых случаях при конфликтах имен вырабатываются ошибки типа "Обнаружено повторяющееся имя" или "Повторяющееся описание в текущей области определения". Если конфликты имен не обнаружены, они могут привести к ошибкам в программе, и, как следствие, к ошибочным результатам. Это особенно вероятно в том случае, если все переменные не были описаны явным образом до их применения.

Для предотвращения большинства конфликтов имен необходимо аккуратно разобраться с областями определения идентификаторов для данных, объектов и процедур. Язык Visual Basic имеет три уровня областей определения: уровень процедуры, личный уровень модуля и общий уровень модуля.

Конфликты имен могут возникать, если идентификатор:

· Является видимым более чем на одном уровне областей определения.

· Имеет на одном и том же уровне два различных значения.

Например процедуры в различных модулях могут иметь одинаковое имя. Таким образом процедура по имени MySub может быть определена в модулях Mod1 и Mod2. Конфликты не возникают, если каждая процедура вызывается только из других процедур в ее собственном модуле. Однако возможно возникновение ошибки, если MySub вызывается из третьего модуля и отсутствует полная ссылка на определенный модуль, позволяющая различить эти две процедуры MySub.

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

YourProject.YourModule.YourSub MyProject.MyModule.MyVar

Предшествующая программа вызывает процедуру Sub YourSub и передает переменную MyVar как аргумент. Допускается использование любой комбинации указателей, позволяющей различить одинаковые идентификаторы.

Visual Basic сопоставляет каждую ссылку на идентификатор с "ближайшим" описанием такого идентификатора. Например, если MyID описан как Public в двух модулях проекта (Mod1 и Mod2), то можно указать MyID, описанный в Mod2 без дополнительного указания внутри Mod2, но необходимо точно задать его имя (как Mod2.MyID) для ссылки на него в Mod1. Это справедливо также, если Mod2 находится в другом проекте, который является напрямую адресуемым проектом. Однако если Mod2 находится в косвенно адресуемом проекте, т.е. таком, на который ссылается напрямую адресуемый проект, ссылки на его переменную по имени MyID всегда должны быть полными и содержать имя проекта. Если ссылка на MyID выполняется из внешнего напрямую адресуемого модуля, то она сопоставляется с первым описанием, обнаруженным в следующем порядке:

· Напрямую адресуемые проекты в том порядке, в котором они появляются в окне диалога Ссылки, вызываемого из меню Сервис.

· Модули каждого проекта. Следует отметить, что не существует внутреннего порядка для модулей проекта.

Имена объектов главного приложения (например, R1C1 в Microsoft Excel) не могут повторно использоваться на других уровнях области определения.

Совет. К типичным ошибкам, вызывающим конфликты имен, относятся неоднозначные задания имен, повторяющиеся описания, неописанные идентификаторы и ненайденные процедуры. Задание в начале каждого модуля инструкции Option Explicit, требующее явного описания переменных до их использования, помогает избежать как возможных конфликтов имен, так и ошибок, связанных с идентификаторами.

Вызов процедур с одинаковыми именами

Вызов процедуры, находящейся в любом модуле одного проекта, осуществляется так же, как вызов процедуры в активном модуле. Однако если два (или более) модуля содержат процедуры с одинаковыми именами, необходимо явно указать имя модуля в инструкции вызова процедуры, как показано в следующем примере:

Sub Main()

Module1.MyProcedure

End Sub

Если две разные процедуры в двух различных проектах названы одинаковыми именами, то при вызове этих процедур необходимо явно указать имя проекта. Например, следующая процедура вызывает процедуру Main в модуле MyModule в проекте MyProject.vbp.

Sub Main()

[MyProject.vbp].[MyModule].Main

End Sub

Примечание. Разные приложения имеют различные имена для проекта. Например в Microsoft Access проект называется базой данных (.mdb); а в Microsoft Excel он называется книгой Excel (.xls).

Правила вызова процедур

· При переименовании модуля или проекта необходимо изменить имя данного модуля или проекта во всех инструкциях вызова; в противном случае Visual Basic не сможет найти вызываемую процедуру. Чтобы найти и заменить текст в модуле, можно использовать команду Заменить в меню Правка.

· Для предотвращения конфликта имен между адресуемыми проектами рекомендуется давать процедурам уникальные имена. Тогда можно вызывать процедуры без указания проекта или модуля.

Вызов процедур Property

В следующей таблице приводится синтаксис для вызова процедур-свойств:

Процедура

Синтаксис

 

Property Let

[объект.]свойство(аргументы)] = аргумент

Property Get

переменная = [объект.]свойство(аргументы)]

Property Set

Set [объект.]свойство[.(аргументы)] = переменная

При вызове процедур Property Let или Property Set всегда имеется один аргумент справа от знака равенства (=).

При описании процедур Property Let или Property Set с несколькими аргументами Visual Basic передает крайний справа аргумент последнему аргументу в описании Property Let или Property Set. Например, следующая диаграмма показывает как аргументы в вызове процедуры Property сопоставляются с аргументами в описании Property Let:

На практике процедуры с несколькими аргументами используются только для создания массивов свойств.

Вызов процедур Sub и Function

Чтобы вызвать процедуру Sub из другой процедуры, следует указать имя этой процедуры и значения для всех требуемых аргументовs. Использование инструкции Call не обязательно, однако если она все же используется, аргументы должны быть заключены в скобки.

Можно использовать процедуру Sub для организации других процедур, это облегчает процесс восприятия этих процедур и их отладку. В следующем примере процедура Sub Main вызывает процедуру Sub MultiBeep, передавая значение 56 для ее аргумента. По окончании работы MultiBeep управление возвращается к Main, и Main вызывает процедуру Sub Message. Message показывает окно сообщения, когда пользователь выбирает мышью OK, управление возвращается к Main, и Main завершается.

Sub Main()

MultiBeep 56

Message

End Sub

Sub MultiBeep(numbeeps)

For counter = 1 To numbeeps

Beep

Next counter

End Sub

Sub Message()

MsgBox "Пора сделать перерыв!"

End Sub

Вызов процедур Sub с несколькими аргументами

Следующий пример показывает два способа вызова процедуры Sub с несколькими аргументами. Когда процедура HouseCalc вызывается во второй раз, аргументы заключаются в скобки, поскольку используется инструкция Call.

Sub Main()

HouseCalc 99800, 43100

Call HouseCalc(380950, 49500)

End Sub

Sub HouseCalc(price As Single, wage As Single)

If 2.5 * wage <= 0.8 * price Then

MsgBox "Этот дом слишком дорогой."

Else

MsgBox "Цена этого дома приемлема."

End If

End Sub

Использование скобок при вызове процедур Function

Чтобы получить возвращаемое значение функции, надо присвоить эту функцию переменной и заключить аргументы в скобки, как показано в следующем примере.

Answer3 = MsgBox("Вам нравится Ваша зарплата?", 4, "Question 3")

Если возвращаемое значение функции не требуется, можно вызвать функцию точно так же, как процедуру Sub. Надо опустить скобки, указать список аргументов и не присваивать функцию переменной, как показано в следующем примере.

MsgBox "Конец задачи!", 0, "Список задач"

Внимание! Наличие скобок в предыдущем примере приведет к синтаксической ошибке.

Передача именованных аргументов

Инструкция в процедуре Sub или Function может передавать значения вызываемым процедурам с помощью именованных аргументов. Именованные аргументы можно перечислять в любом порядке. Именованный аргумент состоит из имени аргумента, за которым следует двоеточие, знак равенства (:=) и значение, присваиваемое аргументу.

В следующем примере вызывается функция MsgBox с помощью именованных аргументов без возвращаемого значения.

MsgBox Title:="Список задач", Prompt:="Конец задачи!"

Следующий пример вызывает функцию MsgBox с помощью именованных аргументов. Возвращаемое значение присваивается переменной answer3.

answer3 = MsgBox(Title:="Question 3", _

Prompt:="Вам нравится Ваша зарплата?", Buttons:=4)

Создание объектных переменных

Объектная переменная может рассматриваться как объект, ссылку на который она содержит. С ее помощью возможно задание или возвращение свойств объекта или использование любых его методов.

Для создания объектной переменной:

1 Опишите объектную переменную.

2 Присвойте эту объектную переменную объекту.

Описание объектной переменной

Для описания объектной переменной применяется инструкция Dim или одна из других инструкций описания (Public, Private или Static). Переменная, которая ссылается на объект, должна иметь тип Variant, Object, или тип определенного объекта. Например, возможны следующие описания:

' Описывает MyObject с типом Variant.

Dim MyObject

' Описывает MyObject с типом Object.

Dim MyObject As Object

' Описывает MyObject с типом Font.

Dim MyObject As Font

Примечание. Если объектная переменная используется без предварительного описания, она по умолчанию приобретает тип даных Variant.

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

Если определенный объектный тип известен, следует описать объектную переменную с этим объектным типом. Например, если используемое приложение содержит объектный тип Sample, возможно описание переменной для этого объекта с помощью одной из следующих инструкций:

Dim MyObject As Object ' Описывает объект как универсальный.

Dim MyObject As Sample ' Описывает объект только с типом Sample.

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

Присвоение объекта объектной переменной

Для присвоения объекта объектной переменной применяется инструкция Set. Имеется возможность присвоить объектное выражение или Nothing. Например допустимы следующие присвоения объектной переменной:

Set MyObject = YourObject ' Присваивает ссылку на объект.

Set MyObject = Nothing ' Удаляет ссылку на объект.

Можно комбинировать описание объектной переменной с присваиванием ей объекта с помощью ключевого слова New в инструкции Set. Например:

Set MyObject = New Object ' Создать и присвоить

Задание для объектной переменной значения Nothing прекращает сопоставление этой переменной с каким-либо определенным объектом. Это предотвращает случайное изменение объекта при изменении переменной. Объектная переменная всегда имеет значение Nothing после закрытия объекта, с которым она сопоставляется, поэтому легко проверить, указывает ли объектная переменная на реальный объект. Например:

If Not MyObject Is Nothing Then

' Переменная ссылается на объект.

. . .

End If

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

Ссылка на текущий экземпляр объекта

Для ссылки на текущий экземпляр объекта, в котором в данное время выполняется программа, используется ключевое слово Me. Все процедуры, связанные с текущим объектом, имеют доступ к объекту, указываемому с помощью слова Me. Ключевое слово Me полезно, в частности, для передачи сведений о текущем экземпляре объекта в процедуру из другого модуля. Например предположим, что модуль содержит следующую процедуру:

Sub ChangeObjectColor(MyObjectName As Object)

MyObjectName.BackColor = RGB(Rnd * 256, Rnd * 256, Rnd * 256)

End Sub

Вызов этой процедуры и передача в качестве аргумента текущего экземпляра объекта выполняется с помощью следующей инструкции:

ChangeObjectColor Me

Создание рекурсивных процедур

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

Function RunOut(Maximum)

RunOut = RunOut(Maximum)

End Function

Эта ошибка менее очевидна, если две процедуры бесконечное число раз вызывают друг друга, или некоторое условие, ограничивающее рекурсию, никогда не выполняется. Рекурсия имеет свои области применения. Например, следующая процедура использует рекурсию для вычисления факториалов:

Function Factorial (N)

If N <= 1 Then ' Достигнут конец рекурсивных вызовов.

Factorial = 1 ' (N = 0) завершение вызовов.

Else ' Повторный вызов функции, если N > 0.

Factorial = Factorial(N - 1) * N

End If

End Function

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

· устранения ненужных переменных;

· использования типов данных , отличных от Variant;

· переосмысления логики процедуры. Часто вместо рекурсии можно воспользоваться вложенными циклами.

Описание массивов

Как и другие переменные, массивы описываются с помощью инструкций Dim, Static, Private или Public. Разница между скалярными переменными (т.е. не массивами) и массивами состоит в том, что для последних надо указывать размер массива. Массив с заданным размером называется массивом фиксированного размера. Массив с переменным размером называется динамическим.

Начало индексации массива с 0 или 1 определяется параметрами инструкции Option Base. Если не указано Option Base 1, нижняя граница индексов массива равняется нулю.

Описание массива фиксированного размера

В следующей строке программы массив фиксированного размера описывается как массив типа Integer, имеющий 11 строк и 11 столбцов:

Dim MyArray(10, 10) As Integer

Первый аргумент представляет строки, а второй - столбцы.

Как и при описании других переменных, если тип данных при описании массива не задается, подразумевается, что элементы массива имеют тип Variant. На каждый элемент массива типа Variant отводится 16 байт. Строковый элемент типа Variant занимает 22 байта. Для написания максимально компактной программы следует явно описывать массивы как принадлежащие к типу данных, отличному от Variant. В следующих строках программы сравниваются размерности нескольких массивов:

' Массив Integer занимает 22 байта (11 элементов * 2 байта).

ReDim MyIntegerArray(10) As Integer

' Массив Double-precision занимает 88 байт (11 элементов * 8 байт).

ReDim MyDoubleArray(10) As Double

' Массив Variant занимает не менее 176 байт (11 элементов * 16 байт).

ReDim MyVariantArray(10)

' Массив Integer занимает 100 * 100 * 2 байт (20,000 байт).

ReDim MyIntegerArray (99, 99) As Integer

' Массив Double-precision занимает 100 * 100 * 8 байт (80,000 байт).

ReDim MyDoubleArray (99, 99) As Double

' Массив Variant занимает не менее 160,000 байт (100 * 100 * 16 байт).

ReDim MyVariantArray(99, 99)

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

Описание динамического массива

Если массив описан как динамический, можно изменять его размер во время работы программы. Для описания динамического массива используются инструкции Static, Dim, Private, или Public с пустыми скобками, как показано в следующем примере.

Dim sngArray() As Single

Примечание. Можно воспользоваться инструкцией ReDim для неявного описания массива внутри процедуры. При этом надо точно задавать имя массива. В случае опечатки, даже если в модуле есть инструкция Option Explicit, будет создан второй массив.

В процедуре внутри области определения массива используется инструкция ReDim для изменения числа размерностей, определения числа элементов и задания верхних и нижних границ индексов для каждой размерности. Инструкцию ReDim можно применять для изменения динамического массива столько раз, сколько потребуется. Однако при каждом применении данные, содержащиеся в массиве, теряются. Инструкция ReDim Preserve увеличивает размер массива, сохраняя при этом его содержимое. В следующем примере показывается, как можно увеличить массив varArray на 10 элементов без уничтожения текущих значений элементов массива.

ReDim Preserve varArray(UBound(varArray) + 10)

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

Описание констант

При описании константы ей можно присвоить значащее имя. Инструкция Const используется для описания константы и определения ее значения. После описания константу нельзя модифицировать и нельзя присваивать ей новое значение.

Константа описывается в процедуре или в начале модуля, в разделе описаний. Константы уровня модуля по умолчанию являются личными. При описании общих констант уровня модуля инструкции Const должно предшествовать ключевое слово Public. Для явного описания личных констант перед инструкцией Const надо поставить ключевое слово Private. Это облегчает чтение и отладку программы. Дополнительные сведения содержатся в разделе "Область определения и видимость" справочника Visual Basic.

В следующем примере константа Public conAge описывается как Integer, и ей присваивается значение 34.

Public Const conAge As Integer = 34

Константы могут быть описаны одним из следующих типов данных: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String, или Variant. Поскольку значение константы уже известно, можно задать тип данных в инструкции Const. Дополнительные сведения содержатся в разделе "Типы данных" справочника Visual Basic.

Допускается также описание нескольких констант в одной строке. В этом случае, чтобы задать тип данных, надо указать определенный тип для каждой константы. В следующем примере константы conAge и conWage описываются как Integer.

Const conAge As Integer = 34, conWage As Currency = 35000

Описание переменных

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

В следующем примере создается переменная strName и задается тип данных String.

Dim strName As String

Когда эта инструкция располагается в процедуре, переменная strName может использоваться только в данной процедуре. Если же такая инструкция находится в разделе описаний модуля, то переменная strName доступна для всех процедур данного модуля, но не может использоваться процедурами из других модулей проекта. Чтобы сделать переменную доступной для всех процедур проекта, перед ней надо поставить инструкцию Public, как показано в следующем примере:

Public strName As String

Дополнительные сведения о присвоения имен переменным содержатся в разделе справочника Visual Basic "Правила присвоения имен в языке Visual Basic".

Переменные могут описываться как один из следующих типов данных: Boolean, Byte, Integer, Long, Currency, Single, Double, Date, String (для строк переменной длины), String * длина (для строк фиксированной длины), Object, или Variant. Если тип данных не задан, по умолчанию переменная приобретает тип Variant. Имеется также возможность создать определяемый пользователем тип данных с помощью инструкции Type. Дополнительная информация о типах данных содержится в разделе справочника Visual Basic "Типы данных".

Допускается также описание нескольких переменных в одной строке. В этом случае, чтобы задать тип данных, надо указать определенный тип для каждой переменной. В следующем примере переменные intX, intY, и intZ описываются как Integer.

Dim intX As Integer, intY As Integer, intZ As Integer

В следующей строке intX и intY описываются как Variant; и только intZ описывается как Integer.

Dim intX, intY, intZ As Integer

Можно не указывать тип данных переменной в описании. Если тип данных не указан, переменная приобретает тип Variant.

Инструкция Public

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

Public strName As String

Общие переменные могут использоваться в любой процедуре проекта. Если общая переменная описана в стандартном модуле или в модуле класса, она также может использоваться в любом проекте, в котором имеется ссылка на проект, где описана эта переменная.

Инструкция Private

Инструкция Private используется для описания личных переменных уровня модуля.

Private MyName As String

Личные переменные доступны только для процедур одного и того же модуля.

Примечание. На уровне модуля инструкция Dim эквивалентна инструкции Private. Использование инструкции Private может упростить чтение и отладку программы.

Инструкция Static

Переменные, описанные с помощью инструкции Static вместо инструкции Dim, сохраняют свои значения при выполнении программы.

Инструкция Option Explicit

В языке Visual Basic можно неявно описать переменную, просто используя ее в инструкции присвоения. Все неявно описанные переменные имеют тип Variant. Переменные типа Variant более требовательны к ресурсам памяти, чем большинство других переменных. Программа будет более эффективной, если переменные явно описаны с определенным типом данных. Явное описание всех переменных уменьшает вероятность конфликтов имен и ошибок, связанных с опечатками.

Если неявные описания нежелательны, инструкция Option Explicit должна предшествовать в модуле всем процедурам. Эта инструкция налагает требование явного описания всех переменных этого модуля. Если модуль содержит инструкцию Option Explicit, при попытке использования неописанного или неверно введенного имени переменной возникает ошибка во время компиляции.

В программной среде Visual Basic имеется возможность установить параметр, автоматически включающий инструкцию Option Explicit во все новые модули. В документации приложения содержатся справочные сведения по изменению параметров среды Visual Basic. Следует отметить, что этот параметр не изменяет текст программы пользователя.

Примечание. Явное описание динамических массивов и массивов с фиксированной размерностью обязательно.

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

Когда приложение используется для управления объектами из другого приложения, необходимо создать ссылку на библиотеку типов второго приложения. Когда ссылка определена, имеется возможность описать объектные переменные с наиболее подходящим для них типом. Например, если при работе в Microsoft Access определяется ссылка на библиотеку типов Microsoft Excel, то внутри Microsoft Access можно описать переменную типа Worksheet, чтобы она представляла объект Worksheet Microsoft Excel.

Если для управления объектами Microsoft Access используется другое приложение, то, как правило, объектные переменные описываются с наиболее подходящим для них типом. Возможно также использование ключевого слова New для автоматического создания нового экземпляра объекта. Однако необходимо указать, что это объект Microsoft Access. Например, если описывается объектная переменная, представляющая форму Microsoft Access внутри Microsoft Visual Basic, необходимо различать объект Form Microsoft Access и объект Form Visual Basic . Имя библиотеки типов включается в описание переменной, как показано в следующем примере:

Dim frmOrders As New Access.Form

Некоторые приложения не распознают отдельные объектные типы Microsoft Access. Даже если в этих приложениях создана ссылка на библиотеку типов Microsoft Access, необходимо описать все объектные переменные Microsoft Access с типом Object. В этом случае ключевое слово New также не может использоваться для создания нового экземпляра объекта. В следующем примере показано, как в таком приложении надо описывать переменную, чтобы она представляла экземпляр объекта Application Microsoft Access. Затем приложение создает экземпляр объекта Application.

Dim appAccess As Object

Set appAccess = CreateObject("Access.Application")

Синтаксис, поддерживаемый приложением, описан в документации по приложению.

Выполнение программы с установкой свойств

Допускается создание процедур Property Let, Property Set и Property Get с одним и тем же именем. Таким образом создается группа связанных процедур, работающих совместно. Имя, данное процедуре Property, не может использоваться в качестве имени процедур Sub и Function, переменой или определяемого пользователем типа данных.

Инструкция Property Let позволяет создать процедуру, которая задает значение свойства. Примером может служить процедура Property, которая создает свойство инвертирования точечного рисунка в форме. Ниже представлен синтаксис вызова процедуры Property Let:

Form1.Inverted = True

Реальная работа по инвертированию точечного рисунка в форме выполняется в процедуре Property Let:

Private IsInverted As Boolean

Property Let Inverted(X As Boolean)

IsInverted = X

If IsInverted Then

(statements)

Else

(statements)

End If

End Property

Переменная уровня формы IsInverted содержит значение этого свойства. Если она описана как Private, пользователь может изменить ее только с помощью процедуры Property Let. Рекомендуется использовать имя, которое облегчает понимание того, что переменная использована для этого свойства.

Процедура Property Get свойства Inverted:

Property Get Inverted() As Boolean

Inverted = IsInverted

End Property

Процедуры-свойства упрощают выполнение программы одновременно с присвоением значения свойства. Они могут использоваться для выполнения следующих операций:

· Определение значения свойства до того, как оно присвоено.

· Присвоение свойства на основе нового значения.

Циклы в программе

Использование условных инструкций и инструкций цикла, называемых также управляющими структурами, позволяет написать программу на языке Visual Basic, которая будет принимать решения и повторять операции. Другая полезная управляющая структура - инструкция With, позволяет выполнить последовательность инструкций, не повторяя задание имени объекта.

Использование условных инструкций

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

Выбор условной инструкции

· If...Then...Else: ветвление программы в зависимости от значения условия True или False

· Select Case: выбор ветви из набора условий

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

Использование циклов дает возможность повторного выполнения набора инструкций. Некоторые циклы повторяют инструкции пока условие имеет значение False; другие - пока значение условия равно True. Имеются также циклы, которые повторяют набор инструкций определенное число раз или же выполняют его для каждого объекта семейства.

Типы циклов

· Do...Loop: повторяет набор инструкций, пока условие имеет значение True или пока оно не примет значение True

· For...Next: использует счетчик. Повторяет набор инструкций указанное число раз.

· For Each...Next: повторяет набор инструкций для каждого объекта семейства

Выполнение нескольких инструкций над одиночным объектом

В Visual Basic, как правило, требуется указать объект перед выполнением одного из его методов или изменением одного из его свойств. С помощью инструкции With можно указать объект только один раз для последовательности инструкций.

· With: выполняет последовательность инструкций над одиночным объектом

Оптимизация циклов For...Next

Переменные целого типа занимают меньше памяти, чем переменные с типом данных Variant и их обновление выполняется немного быстрее. Однако, это отличие становится заметным только при выполнении многих тысяч операций. Например:

Dim CountFaster As Integer ' В первом случае используем Integer.

For CountFaster = 0 to 32766

Next CountFaster

Dim CountSlower As Variant ' Во втором случае используем Variant.

For CountSlower = 0 to 32766

Next CountSlower

В первом случае требуется немного меньше времени для выполнения, чем во втором. Однако, если значение CountFaster превышает 32767, возникает ошибка. Для устранения этой ошибки можно изменить тип данных CountFaster на тип данных Long, который допускает больший диапазон целых чисел. Вообще говоря, чем меньше значения какого-либо типа данных, тем меньше времени требуется для их обновления. Обновление для значений типа Variant выполняется немного медленнее, чем для значений соответствующего им типа данных.

Эффективная передача аргументов

Если не задается обратное, аргументы передаются в процедуры по ссылке. Это эффективно, так как все аргументы, передаваемые по ссылке, требуют одинакового времени для передачи и одинакового количества памяти (4 байта) для каждой процедуры, независимо от типа данных аргумента.

Если включить ключевое слово ByVal в описание процедуры, то аргумент будет передан по значению. Аргументы, переданные по значению, занимают от 2 до 16 байт на процедуру, в зависимости от типа данных аргументов. Типы данных большего размера требуют на передачу немного больше времени. По этой причине обычно не следует передавать по значению типы данных String и Variant.

При передаче аргумента по значению создается копия исходной переменной. Изменения аргумента в процедуре не распространяются на значение исходной переменной. Например:

Function Factorial (ByVal MyVar As Integer) ' Описание функции.

MyVar = MyVar - 1

If MyVar = 0 Then

Factorial = 1

Exit Function

End If

Factorial = Factorial(MyVar) * (MyVar + 1)

End Function

' Вызов функции Factorial с переменной S.

S = 5

Print Factorial(S) ' Выводит на экран 120 (факториал 5).

Print S ' Выводит на экран 5.

Без ключевого слова ByVal в описании функции приведенные выше инструкции Print выводят на экран 1 и 0. Причина заключается в том, что MyVar ссылается затем на переменную S, которая уменьшается на 1 до тех пор, пока не станет равной 0.

Поскольку ByVal создает копию аргумента, она позволяет передавать в функцию Factorial значение типа Variant. Невозможна передача по ссылке значений типа Variant если процедура, описывающая аргумент, использует другой тип данных.

Возвращение строк из функций

Некоторые функции имеют по две версии, одна из которых возвращает тип данных Variant а другая -- тип данных String. Первая версия является более удобной, так как при этом для значений типа Variant преобразование типов данных выполняется автоматически. В ней также допускается передача значения Null через выражение. Вторая версия, возвращающая тип String, более эффективна, так как она использует меньше памяти.

Версия, возвращающая тип String, может быть полезна в следующих случаях:

· Программа имеет большой размер и использует очень много переменных.

· Выполняется прямая запись данных в файлы с произвольным доступом.

Следующие функции возвращают значения типа String, если к имени функции добавляется символ доллара ($). Эти функции имеют такое же применение и синтаксис, как и их эквиваленты без символа доллара, возвращающие тип Variant.

Chr$

ChrB$

*Command$

CurDir$

Date$

Dir$

Error$

Format$

Hex$

Input$

InputB$

LCase$

Left$

LeftB$

LTrim$

Mid$

MidB$

Oct$

Right$

RightB$

RTrim$

Space$

Str$

String$

Time$

Trim$

Ucase$

* Функция доступна не во всех приложениях.

Условная компиляция

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

При помощи директивы #Const в программе определяется условная константа компилятора, а директива #If...Then...#Else служит для указания на блок программы, предназначенный для условной компиляции. В следующем примере в зависимости от значения переменной соnDebug программа выполняется с инструкциями отладки или без них.

' Описывает общую константу компиляции в разделе описаний.

#Const conDebug = 1

Sub SelectiveExecution()

#If conDebug = 1 Then

. ' Выполняет программу с инструкциями отладки.

.

.

#Else

. ' Выполняет обычную программу.

.

.

#End If

End Sub

Время жизни переменных

Временем жизни переменной называется время, в течение которого переменная может иметь значение. Значение переменной может меняться на протяжении ее времени жизни, но в течение этого времени она обязательно имеет какое-либо. Когда переменная теряет область определения, она более не имеет значения.

В начале выполнения процедуры все переменные инициализируются. Числовая переменная получает значение 0, строка переменной длины получает значение пустой строки (""), а строка фиксированной длины заполняется ASCII символом 0 или Chr(0). Переменные типа Variant получают при инициализации значение Empty. Каждый элемент массива переменных с определяемым пользователем типом при инициализации получает значение, которое он получил бы, если бы являлся одиночной переменной.

При описании объектной переменной для нее выделяется память, но ее значение определяется как Nothing до тех пор, пока ей не присвоена ссылка на объект с помощью инструкции Set.

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

Переменная, описанная с помощью инструкции Dim на уровне процедуры, сохраняет значение до окончания выполнения процедуры. Если процедура вызывает другие процедуры, переменная сохраняет свое значение, пока не закончится выполнение и этих процедур.

Если переменная уровня процедуры описана с помощью ключевого слова Static, она сохраняет свое значение до тех пор, пока программа выполняется в каком-либо модуле. По завершении работы всей программы переменная теряет свою область определения и свое значение. Ее время жизни совпадает с временем жизни переменной уровня модуля.

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

Если перед инструкциями Sub или Function имеется ключевое слово Static, значения всех переменных уровня процедуры сохраняются между вызовами процедуры.

Именованные и аргументы Optional

При вызове процедур Sub или Function возможна позиционная передача аргументов, т.е. в порядке следования в описании процедуры. Кроме того, аргументы могут передаваться по именам, вне зависимости от позиции.

Например следующая процедура Sub имеет три аргумента:

Sub PassArgs(strName As String, intAge As Integer, dteBirth As Date)

Debug.Print strName, intAge, dteBirth

End Sub

Эту процедуру можно вызвать, передавая ее аргументы в соответствии с позициями и разделяя их запятой, как показано в следующем примере:

PassArgs "Маша", 26, #2-21-69#

Возможен также вызов этой процедуры с передачей именованных аргументов, разделенных запятыми.

PassArgs intAge:=26, dteBirth:=#2/21/69#, strName:="Маша"

Именованный аргумент состоит из имени аргумента, за которым следует двоеточие со знаком равенства (:=) и значение аргумента.

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

В описании процедуры перед необязательными аргументами должно стоять ключевое слово Optional. Кроме того, в описании процедуры можно присвоить значение необязательному аргументу, которое он принимает по умолчанию. Например:

Sub OptionalArgs(strState As String, Optional strCountry As String = "USA")

. . .

End Sub

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

В следующей процедуре имеется необязательный аргумент, переменная varCountry. Функция IsMissing определяет, был ли передан в процедуру необязательный аргумент.

Sub OptionalArgs(strState As String, Optional intRegion As Integer, _

Optional strCountry As String = "USA")

If IsMissing(intRegion) And IsMissing(strCountry) Then

Debug.Print strState

ElseIf IsMissing(strCountry) Then

Debug.Print strState, intRegion

ElseIf IsMissing(intRegion) Then

Debug.Print strState, strCountry

Else

Debug.Print strState, intRegion, strCountry

End If

End Sub

Эту процедуру можно вызвать с помощью именованного аргумента, как показано в следующих примерах.

OptionalArgs strCountry:="USA", strState:="MD"

OptionalArgs strState:= "MD", intRegion:=5

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

Объект представляет элемент приложения, как например лист, ячейка, диаграмма, форма или отчет. В программе на языке Visual Basic необходимо идентифицировать объект, прежде чем применять к нему методы или изменять значения его свойства.

Семейство (объект Collection) представляет собой объект, содержащий несколько других объектов, как правило, одного и того же типа. Например, в Microsoft Excel объект Workbooks содержит все открытые объекты Workbook. В Visual Basic семейство Forms содержит все объекты Form приложения.

Элемент семейства может быть идентифицирован по номеру или по имени. Например, в следующей процедуре Workbooks(1) обозначает первый открытый объект Workbook.

Sub CloseFirst()

Workbooks(1).Close

End Sub

Следующая процедура использует имя, определенное как строка для указания на объект Form.

Sub CloseForm()

Forms("MyForm.frm").Close

End Sub

Если объекты имеют общие методы, можно рассматривать семейство объектов как одно целое. Например, в следующей процедуре закрываются все открытые формы.

Sub CloseAll()

Forms.Close

End Sub

Метод представляет собой действие, выполняемое над объектом. Например, Add - метод объекта ComboBox, поскольку он добавляет новую запись в поле со списком.

В следующей процедуре для внесения нового элемента в объект ComboBox (поле со списком) используется метод Add.

Sub AddEntry(newEntry as String)

Combo1.Add newEntry

End Sub

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

Чтобы задать значение свойства, надо указать объект, через точку указать имя свойства, затем знак равенства (=) и новое значение свойства. Например, в следующей процедуре изменяется заголовок формы Visual Basic посредством задания свойства Caption.

Sub ChangeName(newTitle)

myForm.Caption = newTitle

End Sub

Некоторые свойства не задаются. В разделах Справочника для всех свойств указано, можно ли задать свойство (чтение-запись), только прочитать его (только чтение) или только записать (только запись).

Имеется возможность отыскивать информацию об объекте, возвращая значение какого-либо из его свойств. В следующей процедуре используется окно сообщения для вывода на экран заголовка активной в данный момент формы.

Sub GetFormName()

formName = Screen.ActiveForm.Caption

MsgBox formName

End Sub

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

Возвращение объектов

В любом приложении имеется способ возвращать объекты, которые оно содержит. Однако, поскольку эти способы отличаются, следует обращаться к разделу Справочника по данному объекту или семейству, чтобы узнать, как возвращать объект.

Программирование объектов

Программирование объектов (ранее программирование OLE ) является свойством модели COM (Component Object Model), стандартной технологии, которая используется приложениями, чтобы предоставить свои объекты в распоряжение средств разработки, макроязыков и других приложений, поддерживающих программирование объектов. Например, приложение для работы с электронными таблицами может предоставлять для использования лист, диаграмму, ячейку или диапазон ячеек в качестве различных типов объектов. Текстовой процессор может предоставлять для использования объекты типа приложений, документов, абзацев, предложений, закладок или выделенных фрагментов.

Если приложение поддерживает программирование объектов, предоставляемые им объекты доступны из языка Visual Basic. Visual Basic позволяет проводить обработку этих объектов с помощью методов этих объектов или с помощью чтения или установки свойств этих объектов. Например, если был создан программируемый объект по имени MyObj, для управления этим объектом можно использовать следующую программу:

MyObj.Insert "Всем привет." ' Размещает текст.

MyObj.Bold = True ' Форматирует текст.

MyObj.SaveAs "C:\WORDPROC\DOCS\TESTOBJ.DOC" ' Сохраняет объект.

Следующие функции позволяют получить доступ к программируемому объекту:

Функция

Описание

 

CreateObject

Создает новый объект указанного типа.

GetObject

Загружает объект из файла.

Сведения о поддерживаемых объектом свойствах и методах содержатся в документации к определенному приложению. Объекты, функции, свойства и методы, поддерживаемые приложением, определяются обычно в библиотеке объектов приложения.

Массивы параметров

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

Для обозначения массива параметров используется ключевое слово ParamArray. Такой массив описывается как массив типа Variant и всегда представляет последние элементы из списка аргументов в описании процедуры .

Ниже приводится пример описания процедуры с массивом параметров.

Sub AnyNumberArgs(strName As String, ParamArray intScores() As Variant)

Dim intI As Integer

Debug.Print strName; " Scores"

' Использует функцию UBound для определения верхней границы массива.

For intI = 0 To UBound(intScores())

Debug.Print " "; intScores(intI)

Next intI

End Sub

В следующих строках приведены примеры вызова этой процедуры.

AnyNumberArgs "Иван", 10, 26, 32, 15, 22, 24, 16

AnyNumberArgs "Мария", "Высокий", "Низкий", "Средний", "Высокий"

Область определения и видимость

Область определения определяет доступность переменной, константы, или процедуры для других процедур. Имеется три уровня областей определения: уровень процедуры, личный уровень модуля и общий уровень модуля.

Область определения переменной определяется при описании этой переменной. Рекомендуется явно описывать все переменные для предотвращения ошибок, связанных с конфликтами имен между переменными с различными областями определения.

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

Переменная или константа, определенная внутри процедуры, недоступна вне этой процедуры .Она может использоваться только процедурой, которая содержит описание этой переменной. В первой процедуре следующего примера в окне сообщения содержится строка. Во второй процедуре окно сообщения останется пустым, так как переменная strMsg является локальной в первой процедуре.

Sub LocalVariable()

Dim strMsg As String

strMsg = "Эта переменная не может использоваться вне этой процедуры."

MsgBox strMsg

End Sub

Sub OutsideScope()

MsgBox strMsg

End Sub

Область определения уровня модуля

Переменная или константа уровня модуля может быть определена в разделе описаний модуля. Переменная уровня модуля может быть общей или частной. Общие переменные доступны для всех процедур во всех модулях проекта; личные переменные доступны только для процедур данного модуля. Переменные, описанные с инструкцией Dim в разделе описаний, по умолчанию определяются как частные. Однако если переменной предшествует ключевое слово Private, область определения задается программой пользователя.

В следующем примере строковая переменная strMsg доступна для всех процедур, описанных в модуле. При вызове второй процедуры в диалоговом окне выводится значение строковой переменной.

' Add following to Declarations section of module.

Private strMsg sAs String

Sub InitializePrivateVariable()

strMsg = "Эта переменная не может использоваться вне этого модуля."

End Sub

Sub UsePrivateVariable()

MsgBox strMsg

End Sub

Примечание. Общие процедуры в стандартном модуле или модуле класса доступны для любого адресующего проекта. Для ограничения области определения всех процедур в модуле текущего проекта в раздел описаний модуля помещается инструкция Option Private Module. Общие переменные и процедуры остаются доступными для других процедур текущего проекта, но не для адресующего проекта.

Область определения общего уровня модуля

Если переменная уровня модуля описана как общая, то она доступна для всех процедур проекта. В следующем примере строковая переменная strMsg может использоваться всеми процедурами во всех модулях проекта.

' Включает в раздел описаний модуля.

Public strMsg As String

Все процедуры являются общими, за исключением процедур обработки событий. Когда Visual Basic создает процедуру обработки события, перед ее описанием автоматически вставляется ключевое слово Private. Все другие процедуры, не являющиеся общими, должны быть описаны явным образом с ключевым словом Private.

Общие процедуры, переменные и константы, описанные в стандартном модуле или в модуле класса, могут использоваться в адресующем проекте. Однако сначала надо задать ссылку на проект, в котором они описаны.

Общие процедуры, переменные и константы, которые описаны не в стандартных модулях, и не в модулях класса, а например в модулях форм или отчетов, недоступны для адресующего проекта, так как эти модули являются личными для проекта, в котором они находятся.

Тип данных Variant

Если при описании константы, переменной, или аргумента не указан тип данных, им автоматически присваивается тип данных Variant. Переменные, описанные с типом данных Variant, могут содержать строку, дату, время, логические (Boolean) или числовые значения и могут автоматически преобразовываться к другому типу. Числовые значения Variant занимают 16 байт памяти (что существенно только в больших процедурах или в сложных модулях), и доступ к ним осуществляется медленнее, чем к переменным, которые описаны явным образом с любым другим типом. Тип данных Variant редко используется для констант. Строковое значение Variant занимает 22 байта памяти.

Следующие инструкции создают переменные Variant:

Dim myVar

Dim yourVar As Variant

theVar = "Это текст."

В последней инструкции переменная theVar не описывается явно, она описывается неявно или же автоматически. Переменные, описанные неявно, получают тип данных Variant.

Совет. Если для переменной или аргумента указан определенный тип данных, а затем используется неверный тип, то возникает ошибка. Чтобы избежать ошибок, связанных с типами данных, рекомендуется или использовать только неявно описанные переменные (тип данных Variant), или явно описывать все переменные с определенным типом данных. Последний способ предпочтительнее.

Синтаксис Visual Basic

В разделах Справочника Visual Basic по методам, инструкциям или функциям объясняются все элементы синтаксиса, необходимые для правильного использования методов, инструкций или функций. В этих разделах приводятся примеры интерпретации наиболее распространенных элементов синтаксиса.

Синтаксис метода Activate

объект.Activate

В синтаксисе метода Activate слово объект представляет собой прототип для передаваемой информации — в данном случае это программа, возвращающая объект. Слова, выделенные полужирным шрифтом, должны набираться в точности так, как они написаны. Например, следующая процедура активизирует второе окно в активном документе.

Sub MakeActive()

Windows(2).Activate

End Sub

Синтаксис функции MsgBox

MsgBox(prompt[, buttons] [, title] [, helpfile, context])

В синтаксисе функции MsgBox полужирные курсивные слова представляют собой именованные аргументы функции. Аргументы, заключенные в скобки, не обязательны (скобки не набираются в тексте программы на языке Visual Basic). Единственным аргументом, который пользователь должен задать для функции MsgBox, является текст подсказки.

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

MsgBox "Ответ неверный!",0,"Заголовок окна"

Указание аргумента по имени состоит из имени аргумента, за которым следуют двоеточие со знаком равенства (:=) и значение аргумента. Именованные аргументы можно указывать в любом порядке, например:

MsgBox Title:="Заголовок окна", Prompt:="Ответ неверный!"

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

В следующем примере значение, возвращаемое функцией MsgBox представляет собой число, обозначающее определенную кнопку, которое запоминается в переменной myVar. Поскольку используется возвращаемое значение, требуются скобки. Затем в другом окне сообщения появляется значение переменной.

Sub Question()

myVar = MsgBox(Prompt:="Я люблю свою работу.", _

Title:="Заголовок окна ", Buttons:="4")

MsgBox myVar

End Sub

Синтаксис инструкции Option

Option Compare

В синтаксисе инструкции Option Compare фигурные скобки и вертикальная черта указывают на принудительный выбор между тремя элементами (фигурные скобки не набираются в инструкциях языка Visual Basic). Например, следующая инструкция означает, что строки в модуле будут сравниваться в порядке сортировки, т.е. без учета регистра букв.

Option Compare Text

Синтаксис инструкции Dim

Dim имяПеременной[([индексы])] [As тип] [, имяПеременной[([индексы])] [As тип]] . . .

В синтаксисе инструкции Dim слово Dim является обязательным ключевым словом. Единственным обязательным элементом является имяПеременной. Например, следующая инструкция создает три переменных: myVar, nextVar и thirdVar. Они автоматически получают тип Variant.

Dim myVar, nextVar, thirdVar

В следующем примере переменная описывается как String. Использование типа данных экономит память и облегчает поиск ошибок в программе.

Dim myAnswer As String

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

Dim x As Integer, y As Integer, z As Integer

В следующем примере x и y описаны с типом Variant, а z описан с типом Integer.

Dim x, y, z As Integer

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

Dim myArray()

Использование массивов

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

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

Dim curExpense(364) As Currency

Чтобы задать значение отдельного элемента, надо указать его индекс. В следующем примере всем элементам массива присваивается исходное значение 20.

Sub FillArray()

Dim curExpense(364) As Currency

Dim intI As Integer

For intI = 0 to 364

curExpense(intI) = 20

Next

End Sub

Изменение нижней границы индексов

Для того, чтобы изменить индекс первого элемента массива, по умолчанию равный 0, на 1, можно использовать инструкцию Option Base в начале модуля. В следующем примере инструкция Option Base изменяет индекс первого элемента , а инструкция Dim описывает массив curExpense с 365 элементами.

Option Base 1

Dim curExpense(365) As Currency

Допускается также явное задание нижней границы индексов массива с помощью предложения To, как продемонстрировано в следующем примере.

Dim curExpense(1 To 365) As Currency

Dim strWeekday(7 To 13) As String

Запоминание значений Variant в массивах

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

Dim varData(3) As Variant

varData(0) = "Мария Петрова"

varData(1) = "Зеленая, 19"

varData(2) = 38

varData(3) = Format("06-09-1952", "General Date")

Другой способ - это присвоение массива, возвращаемого функцией Array, переменной Variant, как продемонстрировано в следующем примере.

Dim varData As Variant

varData = Array("Иван Петров", "Зеленая, 19", 38, _

Format("06-09-1952", "General Date"))

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

MsgBox "Записаны данные для " & varData(0) & "."

Использование многомерных массивов

В языке Visual Basic допускается описание массивов, имеющих до 60 размерностей. Например, следующая инструкция описывает двумерный массив 5 на 10.

Dim sngMulti(1 To 5, 1 To 10) As Single

Если рассматривать этот массив как матрицу, то его первый аргумент представляет строки, а второй - столбцы.

Для обработки многомерных массивов используются вложенные инструкции For...Next. В следующей процедуре двумерный массив заполняется значениями типа данных Single.

Sub FillArrayMulti()

Dim intI As Integer, intJ As Integer

Dim sngMulti(1 To 5, 1 To 10) As Single

' Заполнение массива.

For intI = 1 To 5

For intJ = 1 To 10

sngMulti(intI, intJ) = intI * intJ

Debug.Print sngMulti(intI, intJ)

Next intJ

Next intI

End Sub

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

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

Имеется три типа констант:

· Внутренние константы, или константы, определяемые системой. Значения таких констант берутся из приложений и элементов управления. В других приложениях, имеющих библиотеки объектов, таких как Microsoft Access, Microsoft Excel и Microsoft Project, также предоставляется список констант, которые могут использоваться с методами, объектами и свойствами этих приложений. Список констант, предоставляемых для индивидуальных библиотек объектов, можно найти в окне Просмотр объектов.

Константы языка Visual Basic перечислены в библиотеках Visual Basic (VB), Visual Basic для приложений (VBA) и в библиотеке DAO (Data Access Object).

Примечание. Язык Visual Basic распознает константы в приложениях, созданных с помощью предыдущих версий Visual Basic или Visual Basic для приложений. Пользователь может обновить свои константы, чтобы они соответствовали списку в окне просмотра объектов. Константы, перечисленные в окне просмотра объектов, не требуют описания в приложении пользователя.

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

· Условные константы компилятора описываются с помощью инструкции #Const.

В предыдущих версиях Visual Basic имена констант обычно изображались прописными буквами со знаком подчеркивания. Например:

TILE_HORIZONTAL

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

· С помощью префиксов

· С помощью ссылок на библиотеку

Определение констант с помощью префиксов

Внутренние константы, определенные для любых объектами, записываются в формате со смешанным регистрами с двухбуквенным префиксом, означающим библиотеку объектов, которая описывает константу. Константы из библиотек объектов Visual Basic и Visual Basic для приложений имеют префикс "vb"; константы из библиотеки объектов Data Access Object имеют префикс "db"; а константы из библиотеки объектов Microsoft Excel имеют префикс "xl". В следующем примере проиллюстрировано, как меняются префиксы для специальных элементов управления, в зависимости от библиотеки типов.

· vbTileHorizontal

· dbAppendOnly

· xlDialogBorder

· grdAlignCenter

Определение констант по ссылке через библиотеку

Допускается также ссылка на константу с помощью следующего синтаксиса:

[библиотека.] [модуль.]константа

Синтаксис для определения константы состоит из трех частей:

Часть

Описание

 

библиотека

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

модуль

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

константа

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

Например:

Threed.LeftJustify

Эффективное использование типов данных

Если обратное не указано, неописанные переменные приобретают тип данных Variant . Этот тип данных упрощает написание программ, но его использование не всегда является наиболее эффективным.

Следует предусмотреть применение других типов данных, если:

· Программа имеет большой размер и очень много переменных.

· Требуется как можно более быстрое выполнение программы.

· Выполняется прямая запись данных в файлы с произвольным доступом.

Кроме типа Variant поддерживаются типы данных Byte, Boolean, Integer, Long, Single, Double, Currency, Decimal, Date, Object и String. Для описания переменной определенного типа используется инструкция Dim, например:

Dim X As Integer

Эта инструкция описывает переменную X как Integer — целые числа от -32768 и до 32767. При попытке присвоить X число, выходящее за пределы этого диапазона, возникает ошибка. При присваивании X дробного числа, выполняется округление. Например:

X = 32768 ' Вызывает ошибку.

X = 5.9 ' Задает для x значение 6.

Инструкция Do...Loop

Инструкция Do...Loop используется для выполнения наборов инструкций неопределенное число раз. Набор инструкций повторяется, пока условие имеет значение True, либо пока оно не примет значение True.

Повторение инструкций, пока условие имеет значение True

Имеется два способа проверки условия в инструкции Do...Loop с помощью ключевого слова While: условие проверяется до входа в цикл; условие проверяется после хотя бы однократного выполнения цикла.

В следующей процедуре ChkFirstWhile условие проверяется до входа в цикл. Если myNum задать равным 9 вместо 20, инструкции внутри цикла выполняться не будут. В процедуре ChkLastWhile инструкции внутри цикла выполняются только один раз до того как условие примет значение False.

Sub ChkFirstWhile()

counter = 0

myNum = 20

Do While myNum > 10

myNum = myNum - 1

counter = counter + 1

Loop

MsgBox "Выполнено " & counter & " итераций цикла."

End Sub

Sub ChkLastWhile()

counter = 0

myNum = 9

Do

myNum = myNum - 1

counter = counter + 1

Loop While myNum > 10

MsgBox "В цикле выполнено " & counter & " итераций."

End Sub

Повторение инструкций, пока условие не примет значение True

Имеется два способа проверки условия в инструкции Do...Loop с помощью ключевого слова Until: условие проверяется до входа в цикл (как продемонстрировано в процедуре ChkFirstUntil), или условие проверяется после хотя бы однократного выполнения цикла (как показано в процедуре ChkLastUntil). Итерации продолжаются, пока условие имеет значение False.

Sub ChkFirstUntil()

counter = 0

myNum = 20

Do Until myNum = 10

myNum = myNum - 1

counter = counter + 1

Loop

MsgBox "В цикле выполнено " & counter & " итераций."

End Sub

Sub ChkLastUntil()

counter = 0

myNum = 1

Do

myNum = myNum + 1

counter = counter + 1

Loop Until myNum = 10

MsgBox "В цикле выполнено " & counter & " итераций."

End Sub

Выход из цикла Do...Loop

Инструкцию Do...Loop можно завершить с помощью инструкции Exit Do. Например, для завершения бесконечного цикла используется инструкция Exit Do в блоке True инструкции If...Then...Else или инструкции Select Case. Если условие имеет значение False, цикл будет выполняться как обычно.

В следующем примере переменной myNum присваивается значение, приводящее к бесконечному циклу. Инструкция If...Then...Else проверяет условие на myNum, а затем завершает инструкцию Do...Loop, предотвращая таким образом бесконечный цикл.

Sub ExitExample()

counter = 0

myNum = 9

Do Until myNum = 10

myNum = myNum - 1

counter = counter + 1

If myNum < 10 Then Exit Do

Loop

MsgBox "В цикле выполнено " & counter & " итераций."

End Sub

Примечание. Для прекращения бесконечного цикла используются клавиши ESC или CTRL+BREAK.

Инструкция For...Next

Инструкция For...Next используется для выполнения наборов инструкций указанное число раз. Циклы For используют в качестве счетчика переменную, значение которой увеличивается или уменьшается при каждом выполнении цикла.

Следующая процедура заставляет компьютер подавать звуковой сигнал 50 раз. Инструкция For определяет счетчик x и его начальное и конечное значения. Инструкция Next изменяет счетчик с шагом 1.

Sub Beeps()

For x = 1 To 50

Beep

Next x

End Sub

Имеется возможность увеличивать или уменьшать значение счетчика на указанную величину с помощью ключевого слова Step. В следующем примере счетчик j изменяется с шагом 2 при каждом выполнении цикла. По завершении цикла total равняется сумме 2, 4, 6, 8 и 10.

Sub TwosTotal()

For j = 2 To 10 Step 2

total = total + j

Next j

MsgBox "Сумма равна " & total

End Sub

Для уменьшения значения счетчика используется отрицательное значение Step. В этом случае указывается конечное значение, которое должно быть меньше начального значения. В следующем примере счетчик myNum уменьшается на 2 при каждом выполнении цикла. По окончании цикла total равняется сумме 16, 14, 12, 10, 8, 6, 4 и 2.

Sub NewTotal()

For myNum = 16 To 2 Step -2

total = total + myNum

Next myNum

MsgBox "Сумма равна " & total

End Sub

Примечание. Указание имени счетчика после инструкции Next не обязательно. В предыдущих примерах имя счетчика было указано для облегчения чтения программы.

Инструкция Exit For дает возможность завершения инструкции For...Next до того, как счетчик достигнет своего конечного значения. Например, если возникает ошибка, для ее проверки можно использовать инструкцию Exit For в блоке True инструкции If...Then...Else или инструкции Select Case. Если ошибки нет, инструкция If...Then...Else имеет значение False, и выполнение цикла продолжается как ожидалось.

Инструкция For Each...Next

Инструкция For Each...Next повторяет набор инструкций для всех объектов семейства или для всех элементов массива. Visual Basic автоматически задает переменную во время каждого выполнения цикла. Например, в следующей процедуре закрываются все формы, за исключением формы, содержащей текущую процедуру.

Sub CloseForms()

For Each frm In Application.Forms

If frm.Caption <> Screen. ActiveForm.Caption Then frm.Close

Next

End Sub

В следующих строках программы выполняется цикл для всех элементов массива, и их значения присваиваются индексной переменной I.

Dim TestArray(10) As Integer, I As Variant

For Each I In TestArray

TestArray(I) = I

Next I

Циклы по диапазонам ячеек

Инструкция For Each...Next используется также для организации циклов по диапазонам ячеек. Следующая процедура выполняет цикл по диапазону A1:D10 на листе Sheet1 и присваивает любому числу, имеющему абсолютное значение меньше 0.01, значение 0 (ноль).

Sub RoundToZero()

For Each myObject in myCollection

If Abs(myObject.Value) < 0.01 Then myObject.Value = 0

Next

End Sub

Выход из цикла For Each...Next до его завершения

Допускается выход из цикла For Each...Next с помощью инструкции Exit For. Например, если возникает ошибка, для ее проверки можно использовать инструкцию Exit For в блоке True инструкции If...Then...Else или инструкции Select Case. Если ошибки нет, инструкция If...Then...Else имеет значение False, и выполнение цикла продолжается как ожидалось.

В следующем примере проверяется первая ячейка диапазона A1:B5, которая не содержит числового значения. Когда такая ячейка найдена, на экран выводится сообщение, и Exit For завершает цикл.

Sub TestForNumbers()

For Each myObject In MyCollection

If IsNumeric(myObject.Value) = False Then

MsgBox "Объект не содержит числового значения."

Exit For

End If

Next c

End Sub

Инструкция If...Then...Else

Инструкция If...Then...Else выполняет определенные инструкции или наборы инструкций в зависимости от значения условия. Допускаются многократно вложенные инструкции If...Then...Else, имеющие столько уровней вложения, сколько потребуется. Однако для облегчения чтения программы вместо многократно вложенных инструкций If...Then...Else иногда предпочтительнее использовать инструкцию Select Case.

Выполнение инструкций, когда условие имеет значение True

Для выполнения только одной инструкции, когда условие имеет значение True, используется однострочный синтаксис инструкции If...Then...Else. Ниже приводится пример однострочного синтаксиса без ключевого слова Else.

Sub FixDate()

myDate = #2/13/95#

If myDate < Now Then myDate = Now

End Sub

Для выполнения нескольких строк программы используется многострочный синтаксис. Этот синтаксис содержит инструкцию End If как показано в следующем примере:

Sub AlertUser(value as Long)

If value = 0 Then

AlertLabel.ForeColor = "Красный"

AlertLabel.Font.Bold = True

AlertLabel.Font.Italic = True

End If

End Sub

Выполнение одних инструкций, когда условие истинно, и других - когда ложно

Инструкция If...Then...Else используется также для задания двух блоков исполняемых инструкций: один блок выполняется, если условие имеет значение True, а другой - если оно имеет значение False.

Sub AlertUser(value as Long)

If value = 0 Then

AlertLabel.ForeColor = vbRed

AlertLabel.Font.Bold = True

AlertLabel.Font.Italic = True

Else

AlertLabel.Forecolor = vbBlack

AlertLabel.Font.Bold = False

AlertLabel.Font.Italic = False

End If

End Sub

Проверка второго условия, если первое условие имеет значение False

Инструкция ElseIf добавляется к If...Then...Else для проверки второго условия, если первое условие имеет значение False. Например в следующей процедуре Function вычисляется премия на основе оценки проделанной работы. Инструкция, следующая за Else, выполняется, если условия во всех инструкциях If и ElseIf имеют значения False.

Function Bonus(performance, salary)

If performance = 1 Then

Bonus = salary * 0.1

ElseIf performance = 2 Then

Bonus = salary * 0.09

ElseIf performance = 3 Then

Bonus = salary * 0.07

Else

Bonus = 0

End If

End Function

Использование скобок в программе

Процедуры Sub, встроенные инструкции и некоторые методы не возвращают значений, и поэтому аргументы не заключаются в скобки. Например:

MySub "stringArgument", integerArgument

Процедуры Function, встроенные функции и некоторые методы возвращают значения, которые не используются. Если возвращаемое значение игнорируется, скобки не ставятся, и функция вызывается так же, как процедура Sub: скобки опускаются, перечисляются все аргументы, и функция не присваивается переменной. Например:

MsgBox "Конец задачи!", 0, "Список задач"

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

Answer3 = MsgBox("Вам нравится Ваша зарплата?", 4, "Question 3")

Инструкция в процедурах Sub или Function может передавать значения вызываемой процедуре с помощью именованных аргументов. Правила использования скобок применимы как при наличии, так и при отсутствии именованных аргументов. Если используются именованные аргументы, они перечисляются в любом порядке, и необязательные аргументы опускаются. За именованным аргументом всегда следует двоеточие со знаком равенства (:=), а затем значение аргумента

В следующем примере вызывается функция MsgBox с помощью именованных аргументов, но возвращаемое значение не используется:

MsgBox Title:="Список задач", Prompt:="Конец задачи!"

В следующем примере вызывается функция MsgBox с помощью именованных аргументов. Возвращаемое значение присваивается переменной answer3:

answer3 = MsgBox(Title:="Question 3", _

Prompt:="Вам нравится Ваша зарплата?", Buttons:=4)

Инструкция Select Case

Инструкция Select Case может служить альтернативой инструкции ElseIf в If...Then...Else при оценке одного выражения, которое имеет несколько возможных значений. В то время как If...Then...Else для каждой инструкции ElseIf оценивает разные выражения, инструкция Select Case оценивает выражение только один раз, в начале управляющей структуры.

В следующем примере Select Case оценивает аргумент performance, который передается в процедуру. Следует отметить, что каждая инструкция Case несколько значений, диапазон значений или комбинацию значений и операторов сравнения. Необязательная инструкция Case Else выполняется, если Select Case не находит подходящего значения ни в одной из инструкций Case.

Function Bonus(performance, salary)

Select Case performance

Case 1

Bonus = salary * 0.1

Case 2, 3

Bonus = salary * 0.09

Case 4 To 6

Bonus = salary * 0.07

Case Is > 8

Bonus = 100

Case Else

Bonus = 0

End Select

End Function

Инструкция With

Инструкция With позволяет указывать объект или определяемый пользователем тип данных только один раз для последовательности инструкций. Инструкция With ускоряет выполнение процедур и помогает избежать повторного задания имени объекта.

В следующем примере диапазон ячеек заполняется числовым значением 30, затем устанавливается полужирный шрифт и для внутренней области ячеек задается желтый цвет.

Sub FormatRange()

With Worksheets("Sheet1").Range("A1:C10")

.Value = 30

.Font.Bold = True

.Interior.Color = RGB(255, 255, 0)

End With

End Sub

Для увеличения эффективности программы возможно создание вложенных инструкций With. В следующем примере в ячейку A1 вставляется формула, и затем форматируется шрифт.

Sub MyInput()

With Workbooks("Book1").Worksheets("Sheet1").Cells(1, 1)

.Formula = "=SQRT(50)"

With .Font

.Name = "Arial"

.Bold = True

.Size = 8

End With

End With

End Sub

Правила присвоения имен в языке Visual Basic

При присвоении имен процедурам, константам, переменным, и аргументам в модулеVisual Basic используются следующие правила:

· Имена должны начинаться с буквы.

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

· Имена не должны содержать более 255 символов.

· Как правило, не следует использовать имена, совпадающие с названиями функций, инструкций, и методов языка Visual Basic, так как при этом прекращается выделение в тексте одноименных ключевых слов языка. Чтобы использовать встроенные функции языка, инструкции или методы, имена которых конфликтуют с присвоенным пользователем именем, их необходимо явно указывать. Для этого перед именем встроенной функции, инструкции или метода, должно стоять имя связанной с ними библиотеки типов. Например, если имеется переменная с именем Left, то функция Left должна вызываться как VBA.Left.

· Не допускается использование повторяющихся имен на одном уровне области определения. Нельзя, например, описать две переменных с именем age в одной процедуре. Однако описание личной переменной age и переменной уровня процедуры age внутри одного модуля допустимо.

Примечание. В языке Visual Basic не различаются строчные и прописные буквы, однако в инструкции описания сохраняются прописные буквы.

Работа с приложениями

Язык Visual Basic позволяет создавать новые объекты и загружать существующие объекты из многих приложений Microsoft. Другие приложения также могут предоставлять объекты, которые пользователь может создавать с помощью Visual Basic. Дополнительные сведения содержатся в документации приложения.

Для создания нового объекта или получения существующего объекта из другого приложения используются функции CreateObject и GetObject:

' Запуск Microsoft Excel и создание нового листа.

Set ExcelWorksheet = CreateObject("Excel.Sheet")

' Запуск Microsoft Excel и открытие существующего листа.

Set ExcelWorksheet = GetObject("SHEET1.XLS")

' Запуск Microsoft Word.

Set WordBasic = CreateObject("Word.Basic")

Большинство приложений предоставляют также методы Exit или Quit, которые закрывают приложение, независимо от того отображается оно на экране или нет. Дополнительные сведения по объектам, методам и свойствам, предоставляемым приложением содержатся в документации по приложению.

Некоторые приложения позволяют использовать ключевое слово New для создания объекта любого класса, который существует в библиотеке типов. Например:

Dim X As New Field

В данном случае Field является примером класса из библиотеки типов доступа к данным. Новый экземпляр объекта Field создается с помощью этого синтаксиса. Информация о том, какие классы объектов могут быть созданы таким образом, содержится в документации по приложению.

Процедура Function

Процедура Function представляет собой последовательность инструкций языка Visual Basic, ограниченных инструкциями Function и End Function. Процедура Function подобна процедуре Sub, однако в отличие от последней она возвращает значения. Процедура Function может получать аргументы, как например константы, переменные, или выражения, передаваемые ей вызывающей процедурой. Если процедура Function не имеет аргументов, ее инструкция Function должна содержать пустые скобки. Возврат значения осуществляется путем его присвоения имени функции в одной или нескольких инструкциях процедуры.

В следующем примере функция Celsius пересчитывает градусы Фаренгейта в градусы Цельсия. Когда функция вызывается процедурой Main, переменная, содержащая значение аргумента, передается функции. Результат вычислений возвращается вызывающей процедуре и выводится в окно сообщения.

Sub Main()

temp = Application.InputBox(Prompt:= _

"Введите температуру в градусах Фаренгейта.", Type:=1)

MsgBox "Температура равна " & Celsius(temp) & " градусов Цельсия."

End Sub

Function Celsius(fDegrees)

Celsius = (fDegrees - 32) * 5 / 9

End Function

Процедура Property

Процедура Property представляет собой последовательность инструкций языка Visual Basic, которые позволяют программисту создавать собственные свойства и оперировать с ними.

· Процедуры Property создают допускающие только чтение свойства для форм, стандартных модулей и модулей класса.

· Процедуры Property следует использовать вместо переменных Public в программе, которая должна выполняться после задания значение свойства.

· В отличие от переменных Public процедуры Property могут иметь справочные строки, присвоенные им в окне Просмотр объектов.

Когда создается процедура Property, она становится свойством модуля, содержащего эту процедуру. В языке Visual Basic имеются три следующих типа процедур Property:

Процедура

Описание

 

Property Let

Присваивает значение свойству.

Property Get

Возвращает значение свойства.

Property Set

Задает ссылку на объект.

Синтаксис процедуры Property :

[Public | Private] [Static] Property имя_свойства_ [(список_аргументов)] [As тип]

инструкции

End Property

Процедуры Property обычно используются попарно: Property Let с Property Get и Property Set с Property Get. Описание одной процедуры Property Get подобно описанию свойства, доступного только для чтения. Использование всех трех процедур Property вместе полезно только для переменных Variant, так как только могут содержать как объект, так и другую информацию о типах данных. В отличие от Property Let процедура Property Set предназначена для работы с объектами.

Обязательные аргументы описания процедур Property представлены в следующей таблице:

Процедура

Синтаксис описания

 

Property Get

Property Get имя(1, …, n) As тип

Property Let

Property Let имя(1, …,,,, n, n+1)

Property Set

Property Set имя(1, …, n, n+1)

Первый аргумент и все следующие вплоть до последнего (1, …, n) должны иметь одно и то же имя и тип данных во всех одноименных процедурах Property.

Описание процедуры Property Get имеет на один аргумент меньше, чем связанные описания Property Let и Property Set. Тип данных процедуры Property Get должен быть тем же самым, что и тип последнего аргумента (n+1) в связанных описаниях Property Let и Property Set. Например, если описывается следующая процедура Property Let, в описании Property Get должны использоваться аргументы с тем же самым именем и типом данных, как аргументы в процедуре Property Let.

Property Let Names(intX As Integer, intY As Integer, varZ As Variant)

‘Выполняемая инструкция.

End Property

Property Get Names(intX As Integer, intY As Integer) As Variant

‘Выполняемая инструкция.

End Property

Тип данных последнего аргумента в описании Property Set должен быть или объектным типом или Variant.

Процедура Sub

Sub Процедура Sub представляет собой последовательность инструкций языка Visual Basic, ограниченных инструкциями Sub и End Sub, которая выполняет действия, но не возвращает значение. Процедура Sub может получать аргументы, как например константы, переменные, или выражения, передаваемые ей вызывающей процедурой. Если процедура Sub не имеет аргументов, инструкция Sub должна содержать пустые скобки.

В следующей процедуре Sub содержатся комментарии, объясняющие каждую строк.

' Описывает процедуру с именем GetInfo

' Эта процедура Sub не имеет аргументов

Sub GetInfo()

' Описывает строковую переменную с именем answer

Dim answer As String

' Присваивает переменой answer возвращаемое значение функции

answer = InputBox(Prompt:="Как Ваше имя?")

' Условная инструкция If...Then...Else

If answer = Empty Then

' Вызов функции MsgBox

MsgBox Prompt:="Введите имя."

Else

' Функция MsgBox объединена с переменной answer

MsgBox Prompt:="Имя переменной " & answer

' Завершает инструкцию If...Then...Else

End If

' Завершает процедуру Sub

End Sub

Инструкции присвоения

Инструкции присвоения присваивают выражение переменной или константе. Инструкции присвоения всегда включают знак равенства (=). В следующем примере переменной yourName присваивается возвращаемое значение функции InputBox.

Sub Question()

Dim yourName As String

yourName = InputBox("Как Ваше имя?")

MsgBox "Ваше имя - " & yourName

End Sub

Инструкция Let необязательна и чаще всего опускается. К примеру, предыдущую инструкцию присвоения можно написать следующим образом:

Let yourName = InputBox("Как Ваше имя?").

Для присвоения объекта переменной, описанной как объект, применяется инструкция Set. Ключевое слово Set обязательно. В следующем примере инструкция Set присваивает диапазон на листе Sheet1 объектной переменной myCell:

Sub ApplyFormat()

Dim myCell As Range

Set myCell = Worksheets("Sheet1").Range("A1")

With myCell.Font

.Bold = True

.Italic = True

End With

End Sub

Инструкции, задающие значение свойства также являются инструкциями присвоения. В следующем примере задается свойство Bold объекта Font для активной ячейки:

ActiveCell.Font.Bold = True

Инструкции описания

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

Следующий пример содержит три описания.

Sub ApplyFormat()

Const limit As Integer = 33

Dim myCell As Range

' Другие инструкции

End Sub

Инструкция Sub (с парной ей инструкцией End Sub) описывает процедуру с именем ApplyFormat. Все инструкции, заключенные между Sub и End Sub выполняются всегда, когда вызывается или выполняется процедура ApplyFormat.

· Процедура Sub

Инструкция Const описывает константу limit, задавая ей тип данных Integer и значение 33.

· Описание констант

Инструкция Dim описывает переменную myCell. Тип данных объектный, в данном случае это объект Microsoft Excel Range. Переменную можно описать как объект, представленный в текущем приложении. Инструкции Dim относятся к типу инструкций, используемых для описания переменных. Другие ключевые слова, используемые для описания, - это ReDim, Static, Public, Private, и Const.

· Описание переменных

Исполняемые инструкции

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

В следующем примере используется инструкция For Each...Next для итераций по всем ячейкам диапазона с именем MyRange на листе Sheet1 текущей книги Microsoft Excel. Переменная c представляет собой ячейку в семействе ячеек, содержащемся в MyRange.

Sub ApplyFormat()

Const limit As Integer = 33

For Each c In Worksheets("Sheet1").Range("MyRange").Cells

If c.Value > limit Then

With c.Font

.Bold = True

.Italic = True

End With

End If

Next c

MsgBox "Все сделано!"

End Sub

Инструкция If...Then...Else в этом примере проверяет значение ячейки. Если значение больше 33, инструкция With задает свойства Bold и Italic объекту Font для этой ячейки. Инструкция If...Then...Else завершается инструкцией End If.

Инструкция With облегчает набор текста программы, поскольку все инструкции, которые она содержит, автоматически выполняются для объекта, следующего за ключевым словом With.

Инструкция Next вызывает следующую ячейку семейства, содержащегося в MyRange.

Функция MsgBox (которая отображает встроенное окно диалога Visual Basic) выводит на экран сообщение о том, что выполнение процедуры Sub закончилось.

Запись данных в файлы

При работе с большим количеством данных часто бывает удобно записывать данные в файл или считывать из файла. Инструкция Open позволяет напрямую создать файл и получить к нему доступ. Инструкция Open обеспечивает три типа доступа к файлам:

· Последовательный доступ (режимы Input, Output и Append режимы), обычно используемый для записи текстовых файлов, например протоколов ошибок или отчетов.

· Произвольный доступ (режим Random), используемый при необходимости считать и записать данные в файл без его закрытия. Файлы произвольного доступа содержат данные в виде записей, которые упрощают и ускоряют поиск нужных сведений.

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

Примечание. Инструкцию Open не следует использовать для доступа к собственным типам файлов приложений. Например, не следует использовать Open для доступа к документу Word, к электронной таблице Microsoft Excel или к базе данных Microsoft Access, поскольку это вызовет потерю целостности и порчу файла.

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

Тип доступа

Запись данных

Чтение данных

 

Последовательный

Print #, Write #

Input #

Произвольный

Put

Get

Двоичный

Put

Get

Инструкции Visual Basic

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

· Инструкции описания, именующие переменные, константы или процедуры, а также могут задавать типы данных.

Инструкции описания

· Инструкции присвоения, которые присваивают значение или выражение переменной или константе.

Инструкции присвоения

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

Исполняемые инструкции

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

Обычно инструкция располагается на одной строке, но ее можно продолжить на следующую строку с помощью символа продолжения строки. В следующем примере исполняемая инструкция MsgBox продолжается на трех строках:

Sub DemoBox() 'Эта процедура описывает строковую переменную,

' присваивает ей значение Мария и выводит

' сцепленное сообщение.

Dim myVar As String

myVar = "Иван"

MsgBox Prompt:="Привет " & myVar, _

Title:="Приветствие", _

Buttons:=vbExclamation

End Sub

Комментарии

Комментарии позволяют объяснить процедуру или определенную инструкцию всем читателям программы. Когда процедура выполняется, Visual Basic игнорирует комментарии. Строки комментария начинаются с апострофа (') или со слова Rem, за которым следует пробел. Их можно вносить в любое место процедуры. Чтобы внести комментарий в строку, на которой расположена инструкция, после инструкции следует поставить апостроф, а за ним комментарий. По умолчанию комментарии выделяются в тексте зеленым цветом.

Проверка синтаксических ошибок

Если после набора строки и нажатия клавиши ENTER строка выделяется красным цветом (может появиться также сообщение об ошибке), необходимо выяснить, что неправильно в данной инструкции и исправить ее.

 

Метод Add

Добавляет объект в семейство.

Синтаксис

объект.Add(компонент)

Синтаксис метода Add содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

компонент

Обязательный. Для семейства LinkedWindows это объект. Для семейства VBComponents -- специальная константа, представляющая модуль класса, форму или стандартный модуль.

В качестве аргумента компонент может использоваться одна из следующих констант:

Константа

Описание

 

vbext_ct_ClassModule

Добавляет модуль класса в семейство.

Vbext_ct_MSForm

Добавляет форму в семейство.

Vbext_ct_StdModule

Добавляет стандартный модуль в семейство.

Дополнительные сведения

Для семейства LinkedWindows метод Add добавляет окно в семейство текущих связанных окон.

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

Для семейства VBComponents метод Add создает новый стандартный компонент и добавляет его в проект.

Для семейства VBComponents метод Add возвращает объект VBComponent. Для семейства LinkedWindows метод Add возвращает значение Nothing.

Метод AddFromFile

Для семейства References добавляет ссылку на проект из некоторого файла. Для объекта CodeModule добавляет содержимое файла в модуль.

Синтаксис

объект.AddFromFile(имя_файла)

Синтаксис метода AddFromFile содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

имя_файла

Обязательный. Строковое выражение, определяющее имя файла, которое добавляется в проект или модуль. Если имя файла не найдено и путь к нему не указан, поиск проводится в каталогах, найденных с помощью функции Windows OpenFile.

Дополнительные сведения

Для объекта CodeModule метод AddFromFile вставляет содержимое файла, начиная со строки, предшествующей первой процедуре в программном модуле. Если модуль не содержит процедур, метод AddFromFile помещает содержимое файла в конец модуля.

Метод AddFromGuid

Добавляет ссылку в семейство Reference с помощью уникального кода ссылки (GUID).

Синтаксис

объект.AddFromGuid(GUID, старший, младший) As Reference

Синтаксис метода AddFromGuid содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

GUID

Обязательный. Строковое выражение, представляющее код GUID ссылки.

старший

Обязательный. Переменная типа Long, указывающая номер старшей версии ссылки.

младший

Обязательный. Переменная типа Long, указывающая номер младшей версии ссылки.

Дополнительные сведения

Чтобы найти ссылку, которую необходимо добавить, метод AddFromGuid ищет реестр. GUID может быть библиотекой типов, элементом управления, идентификатором класса и т.д.

Метод AddFromString

Добавляет текст в модуль.

Синтаксис

объект.AddFromString

Прототип объект представляет собой объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

Дополнительные сведения

Метод AddFromString вставляет текст, начиная со строки, предшествующей первой процедуре в модуле. Если модуль не содержит процедур, метод AddFromString помещает текст в конец модуля.

Метод Close

Закрывает и уничтожает окно.

Синтаксис

объект.Close

Прототип объект представляет собой объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

Дополнительные сведения

Метод Close по-разному действует на следующие типы окон:

· Если окно является областью окна программы, Close разрушает эту область.

· Если окно является конструктором, Close
уничтожает содержащийся в нем конструктор.

· Если окно должно всегда оставаться доступным в пункте меню Вид, метод Close скрывает такое окно.

Метод CreateEventProc

Создает процедуру обработки события.

Синтаксис

объект.CreateEventProc(событие, источник) As Long

Синтаксис метода CreateEventProc содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

событие

Обязательный. Строковое выражение, указывающее имя события, которое добавляется в модуль.

источник

Обязательный. Строковое выражения, указывающее имя объекта, который является источником события.

Дополнительные сведения

Метод CreateEventProc используется для создания процедуры обработки события. Например, чтобы создать процедуру обработки события "Нажатие кнопки" (Click) для элемента управления Command Button с именем Command1, можно использовать следующий код (CM представляет собой объект типа CodeModule):

TextLocation = CM.CreateEventProc("Нажатие кнопки", "Command1")

Метод CreateEventProc возвращает строку, с которой начинается основная часть процедуры обработки события. CreateEventProc не сработает, если аргументы относятся к несуществующему событию.

Метод DeleteLines

Стирает одну строку или указанную последовательность строк.

Синтаксис

объект.DeleteLines (строка [, количество])

Синтаксис метода DeleteLines содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка

Обязательный. Переменная типа Long, указывающая номер первой строки, которую надо стереть.

количество

Необязательный. Переменная типа Long, указывающая количество строк, которые надо стереть.

Дополнительные сведения

Если число стираемых строк не указано, DeleteLines сотрет одну строку.

Метод Export

Сохраняет компонент как отдельный файл или файлы.

Синтаксис

объект.Export(имя_файла)

Синтаксис метода Export содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

имя_файла

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

Дополнительные сведения

Если метод Export используется для сохранения компонента как отдельного файла или файлов, имя этого файла не должно совпадать с именем уже существующего файла, иначе возникает ошибка.

Метод Find

Ищет активный модуль, содержащий указанную строку.

Синтаксис

объект.Find(образец, строка1, столбец1, строка2, столбец2 [, слово] [, регистр] [, выражение]) As Boolean

Синтаксис метода Find содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

образец

Обязательный. Переменная типа String, значением которой является искомый текст или образец.

строка1

Обязательный. Переменная типа Long, указывающая номер строки, с которой начинается поиск. Если найден текст, совпадающий с образцом, получает значение номера первой строки найденного текста.

столбец1

Обязательный. Переменная типа Long, указывающая номер столбца, с которого начинается поиск. Если найден текст, совпадающий с образцом, получает значение номера первого столбца найденного текста.

строка2

Обязательный. Переменная типа Long, указывающая номер последней строки совпадающего с образцом текста (если он найден).

столбец2

Обязательный. Переменная типа Long, указывающая номер последнего столбца совпадающего с образцом текста (если он найден).

слово

Необязательный. Переменная типа Boolean, указывающая, что проводится поиск слов только целиком; в этом случае для нее задается значение True. По умолчанию имеет значение False.

регистр

Необязательный. Переменная типа Boolean, указывающая, что поиск проводится с учетом буквенного регистра; в этом случае для нее задается значение True. По умолчанию имеет значение False.

выражение

Необязательный. Переменная типа Boolean, указывающая, что образцом представляет собой правильное выражение; в этом случае для нее задается значение True. По умолчанию имеет значение False.

Дополнительные сведения

Если найден текст, совпадающий с образцом, метод Find возвращает значение True, в противном случае -- значение False.

Аргументы регистр и образец являются взаимоисключающими. Если оба аргумента имеют значение True, возникает ошибка.

Метод Find не влияет на содержимое диалогового окна Find.

Метод GetSelection

Возвращает выделенный фрагмент в области окна программы.

Синтаксис

объект.GetSelection(строка1, столбец1, строка2, столбец2)

Синтаксис метода GetSelection содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка1

Обязательный. Переменная типа Long, указывающая номер первой строки выделенного фрагмента в области окна программы.

столбец1

Обязательный. Переменная типа Long, указывающая номер первого столбца выделенного фрагмента в области окна программы.

строка2

Обязательный. Переменная типа Long, указывающая номер последней строки выделенного фрагмента в области окна программы.

столбец2

Обязательный. Переменная типа Long, указывающая номер последнего столбца выделенного фрагмента в области окна программы.

Дополнительные сведения

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

Метод Import

Добавляет компонент в проект из файла; возвращает этот вновь добавленный компонент.

Синтаксис

объект.Import(имя_файла) As VBComponent

Синтаксис метода Import содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

имя_файла

Обязательный. Переменная типа String, указывающая путь и имя для файла, из которого извлекается компонент.

Дополнительные сведения

Метод Import может использоваться для добавления в проект компонента, формы, модуля, класса, и т.д.

Метод InsertLines

Вставляет одну или несколько строк в указанное место программы.

Синтаксис

объект.InsertLines(строка, текст)

Синтаксис метода InsertLines содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка

Обязательный. Переменная типа Long, указывающая место в программе, куда вставляются новые строки.

текст

Обязательный. Переменная типа String, содержащая вставляемый текст.

Дополнительные сведения

Если вставляемый с помощью InsertLines текст содержит символы возврата каретки с переводом строки, он будет вставлен в виде последовательности строк.

Метод Item

Возвращает компонент семейства с заданным номером.

Синтаксис

объект.Item(индекс)

Синтаксис метода Item содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

индекс

Обязательный. Выражение, определяющее положение компонента в семействе. Если этот аргумент задается с помощью числового выражения, то индекс должен иметь значение от 1 до значения свойства Count для семейства. Если этот аргумент задается с помощью строкового выражения, то его значение должно совпадать со значением аргумента key, которое указывается при добавлении компонента в семейство.

В следующей таблице перечислены семейства и соответствующие им аргументы key для использования с методом Item. Строка, передаваемая в метод Item должна совпадать с аргументом key семейства.

Семейство

Аргумент Key

 

Windows

Значение свойства Caption

LinkedWindows

Значение свойства Caption

CodePanes

Специальная строка не предусмотрена.

VBProjects

Значение свойства Name

VBComponents

Значение свойства Name

References

Значение свойства Name

Properties

Значение свойства Name

Дополнительные сведения

Аргумент индекс может быть числовым значением или строкой, содержащей заголовок объекта.

Метод Lines

Возвращает указанные строки программы.

Синтаксис

объект.Lines(строка, количество) As String

Синтаксис метода Lines содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка

Обязательный. Переменная типа Long, указывающая номер первой строки возвращаемого текста

количество

Обязательный. Переменная типа Long, указывающая количество строк возвращаемого текста.

Дополнительные сведения

Номера строк в программном модуле начинаются с 1.

Метод ProcBodyLine

Возвращает первую строку процедуры.

Синтаксис

объект.ProcBodyLine(имя_процедуры, тип_процедуры) As Long

Синтаксис метода ProcBodyLine содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

Имя_процедуры

Обязательный. Переменная типа String, содержащая имя процедуры.

Тип_процедуры

Обязательный. Указывает вид процедуры, которую надо найти. Поскольку в модуле может находиться несколько различных процедур Property, необходимо указывать вид искомой процедуры. Все процедуры, отличные от процедур-свойств (т.е., процедуры Sub и Function) используют аргумент vbext_pk_Proc.

В качестве аргументатип_процедуры используются следующие константы:

Константа

Описание

 

vbext_pk_Get

Соответствует процедуре, возвращающей значение свойства.

vbext_pk_Let

Соответствует процедуре, присваивающей свойству значение.

vbext_pk_Set

Соответствует процедуре, задающей ссылку на объект.

vbext_pk_Proc

Используется со всеми процедурами, отличными от процедур-свойств.

Дополнительные сведения

Первой строкой процедуры является строка, на которой находится инструкция Sub, Function или Property.

Метод ProcCountLines

Возвращает количество строк в указанной процедуре.

Синтаксис

объект.ProcCountLines(имя_процедуры, тип_процедуры) As Long

Синтаксис метода ProcCountLines содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

имя_процедуры

Обязательный. Переменная типа String, содержащая имя процедуры.

тип_процедуры

Обязательный. Указывает вид процедуры, которую надо найти. Поскольку в модуле может находиться несколько различных процедур Property, необходимо указывать вид искомой процедуры. Все процедуры, отличные от процедур-свойств(т.е., процедуры Sub и Function) используют аргумент vbext_pk_Proc.

В качестве аргументатип_процедуры используются следующие константы:

Константа

Описание

 

vbext_pk_Get

Соответствует процедуре, возвращающей значение свойства.

vbext_pk_Let

Соответствует процедуре, присваивающей свойству значение.

vbext_pk_Set

Соответствует процедуре, задающей ссылку на объект.

vbext_pk_Proc

Используется со всеми процедурами, отличными от процедур-свойств.

Дополнительные сведения

Метод ProcCountLines учитывает все пустые строки или строки комментария, предшествующие описанию процедуры, и, если процедура является последней в программном модуле, все пустые строки, следующие за процедурой.

Метод ProcOfLine

Возвращает имя процедуры, содержащей строку с указанным номером.

Синтаксис

объект.ProcOfLine(строка, тип_процедуры) As String

Синтаксис метода ProcOfLine содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка

Обязательный. Переменная типа Long, указывающая номер искомой строки.

тип_процедуры

Обязательный. Указывает вид процедуры, которую надо найти. Поскольку в модуле может находиться несколько различных процедур Property, необходимо указывать вид искомой процедуры. Все процедуры, отличные от процедур-свойств(т.е., процедуры Sub и Function) используют аргумент vbext_pk_Proc.

В качестве аргументатип_процедуры используются следующие константы:

Константа

Описание

 

vbext_pk_Get

Соответствует процедуре, возвращающей значение свойства.

vbext_pk_Let

Соответствует процедуре, присваивающей свойству значение.

vbext_pk_Set

Соответствует процедуре, задающей ссылку на объект.

vbext_pk_Proc

Используется со всеми процедурами, отличными от процедур-свойств.

Дополнительные сведения

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

Метод ProcStartLine

Возвращает строку, с которой начинается указанная процедура.

Синтаксис

объект.ProcStartLine(имя_процедуры, тип_процедуры) As Long

Синтаксис метода ProcStartLine содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

имя_процедуры

Обязательный. Переменная типа String, содержащая имя процедуры.

тип_процедуры

Обязательный. Указывает вид процедуры, которую надо найти. Поскольку в модуле может находиться несколько различных процедур Property, необходимо указывать вид искомой процедуры. Все процедуры, отличные от процедур-свойств(т.е., процедуры Sub и Function) используют аргумент vbext_pk_Proc.

В качестве аргументатип_процедуры используются следующие константы:

Константа

Описание

 

vbext_pk_Get

Соответствует процедуре, возвращающей значение свойства.

vbext_pk_Let

Соответствует процедуре, присваивающей свойству значение.

vbext_pk_Set

Соответствует процедуре, задающей ссылку на объект.

vbext_pk_Proc

Используется со всеми процедурами, отличными от процедур-свойств.

Дополнительные сведения

Процедура начинается со строки, следующей за инструкцией End Sub предшествующей процедуры. Если процедура является первой, она начинается сразу после общего раздела описаний.

Метод Remove

Удаляет компонент из семейства.

Синтаксис

объект.Remove(компонент)

Синтаксис метода Remove содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

компонент

Обязательный. Для семейства LinkedWindows это объект. Для семейства References -- ссылка на библиотеку типов или на проект. Для семейства VBComponents -- специальная константа, представляющая модуль класса, форму или стандартный модуль.

Дополнительные сведения

Если метод Remove используется для семейства LinkedWindows, он удаляет окно из текущего семейства связанных окон. Удаленное окно становится перемещаемым окном, которое имеет свою собственную связанную рамку окна.

Метод ReplaceLine

Замещает одну строку программы другой.

Синтаксис

объект.ReplaceLine(строка, текст)

Синтаксис метода ReplaceLine содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка

Обязательный. Переменная типа Long, указывающая номер строки, которую надо заменить другой.

текст

Обязательный. Переменная типа String, содержащая вставляемую строку.

 

Метод SetFocus

Передает фокус указанному окну.

Синтаксис

объект.SetFocus

Прототип объект представляет собой объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

Дополнительные сведения

Метод SetFocus используется для окон, которые уже являются видимыми.

Метод SetSelection

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

Синтаксис

объект.SetSelection(строка1, столбец1, строка2, столбец2)

Синтаксис метода SetSelection содержит следующие элементы:

Элемент

Описание

 

объект

Обязательный. Объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

строка1

Обязательный. Переменная типа Long, указывающая номер первой строки выделенного фрагмента.

столбец1

Обязательный. Переменная типа Long, указывающая номер первого столбца выделенного фрагмента.

строка2

Обязательный. Переменная типа Long, указывающая номер последней строки выделенного фрагмента.

столбец2

Обязательный. Переменная типа Long, указывающая номер последнего столбца выделенного фрагмента.

 

Метод Show

Выводит указанную область окна программы на передний план.

Синтаксис

объект.Show

Прототип объект представляет собой объектное выражение, значением которого является один из объектов, перечисленных в списке "Применение".

Дополнительные сведения

Метод Show передает фокус указанной области программы в данном окне.

Пример использования метода Add

В данном примере метод Add используется для добавления одного стандартного модуля в семейство VBComponents.

Application.VBE.VBProjects(1).VBComponents.Add(vbext_ct_StdModule)

Пример использования метода AddFromFile

В данном примере метод AddFromFile используется для добавления содержимого некоторого файла в указанную область окна программы.

Application.VBE.CodePanes(3).CodeModule.AddFromFile "c:\Code Files\book2.frm"

Пример использования метода AddFromGUID

В данном примере метод AddFromGUID используется для добавления ссылки на текущий проект. Для этого указывается ссылка с помощью значения кода GUID объекта Reference.

Application.VBE.ActiveVBProject.References.AddFromGuid("", 5, 0)

Пример использования метода AddFromString

В данном примере метод AddFromString используется для добавления строки “Dim intJack As Integer” в указанную область окна программы.

Application.VBE.CodePanes(3).CodeModule.AddFromString "Dim intJack As Integer"

Пример использования метода Close

В данном примере метод Close закрывает указанный компонент семейства Windows.

Application.VBE.Windows(9).Close

Пример использования метода CreateEventProc

В данном примере метод CreateEventProc используется для создания процедуры Button_Click.

Debug.Print Application.VBE.SelectVBComponents.CodeModule.CreateEventProc("Нажмите ", "кнопку ")

Пример использования метода DeleteLines

Следующий пример состоит из двух частей. Первый цикл For…Next с помощью метода InsertLines вставляет в область окна программы CodePanes(1) 26 последовательно удлиняющихся сегментов латинского алфавита, начиная с буквы "a". Последний вставленный сегмент представляет собой весь алфавит.

Во второй части цикл For…Next использует метод DeleteLines для удаления строк с нечетными номерами. На первый взгляд кажется, что второй цикл должен просто стирать каждую вторую строку, однако следует принять во внимание, что после каждой операции удаления нумерация строк производится заново. Следовательно, на каждом шаге стирается каждая третья строка: первая строка пропускается, так как I увеличивается на единицу, а вторая -- поскольку больший номер строки каждый раз уменьшается на единицу.

For I = 1 to 26

Application.VBE.SelectedVBComponent.CodeModule.InsertLines i, Mid$("abcdefghijklmnopqrstuvwxyz", 1, I)

Next

For I = 1 to 13

Application.VBE.SelectedVBComponent.CodeModule.DeleteLines I

Next

Пример использования метода Export

В данном примере создается файл с именем test.bas и с помощью метода Export, в него копируется содержимое стандартного модуля VBComponents(1).

Application.VBE.ActiveVBProject.VBComponents(1).Export("test.bas")

Пример использования метода Find

В данном примере с помощью метода Find устанавливается, что указанная последовательность строк в области окна программы (строки с 1261 по 1279) содержит строку “Tabs.Clear”.

Application.VBE.CodePanes(2).CodeModule.Find ("Tabs.Clear", 1261, 1, 1280, 1, False, False)

Пример использования метода GetSelection

В следующем примере возвращается местоположение начальных и конечных координат выделенного фрагмента в области окна программы CodePanes(1). В последней строке примера метод GetSelection используется для присвоения четырех значений четырем переменным.

Dim m As Long

Dim n As Long

Dim x As Long

Dim y As Long

Application.VBE.CodePanes(1).GetSelection m, n, x, y

Пример использования метода Import

В данном примере метод Import семейства VBComponents используется, чтобы скопировать содержимое файла test.bas в стандартный модуль.

Application.VBE.ActiveVBProject.VBComponents.Import("test.bas")

Пример использования метода InsertLines

В данном примере метод InsertLines используется, чтобы вставить строку "Option Explicit" в указанную область окна программы.

Application.VBE.CodePanes(1).CodeModule.InsertLines 1, "Option Explicit"

Пример использования метода Item

В данном примере показаны два способа вывода на экран указанного компонента семейства CodePanes; в одном из них используется метод Item.

Application.VBE.CodePanes.Item(2).Show

Application.VBE.CodePanes(2).Show

Пример использования метода Lines

В данном примере метод Lines используется для возвращения указанного блока программы (строки с 1 по 4) в определенную область окна программы.

Debug.Print Application.VBE.CodePanes(1).CodeModule.Lines( 1, 4)

Пример использования метода ProcBodyLine

В данном примере метод ProcBodyLine используется для возвращения номера первой строки процедуры SetupTabs в определенную область окна программы.

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcBodyLine ("SetupTabs", vbext_pk_Proc)

Пример использования метода ProcCountLines

В данном примере метод ProcCountLines используется для возвращения указанного числа строк процедуры SetupTabs в определенную область окна программы.

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcCountLines ("SetupTabs", vbext_pk_Proc)

Пример использования метода ProcOfLine

В данном примере метод ProcOfLine используется для возвращения имени процедуры, содержащей строку с указанным номером, в определенную область окна программы.

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcOfLine (1270, vbext_pk_Proc)

Пример использования метода ProcStartLine

В данном примере метод ProcStartLine используется для возвращения строки, с которой начинается указанная процедура, в определенную область окна программы.

Debug.Print Application.VBE.CodePanes(3).CodeModule.ProcStartLine ("SetupTabs", vbext_pk_Proc)

Пример использования метода Remove

В данном примере устанавливается, что определенный компонент семейства VBComponents является модулем, а затем этот модуль удаляется с помощью метода Remove.

Debug.Print Application.VBE.ActiveVBProject.VBComponents(4).Name

Application.VBE.ActiveVBProject.VBComponents.Remove Application.VBE.ActiveVBProject.VBComponents(4)

Пример использования метода ReplaceLine

Следующий пример состоит из двух частей. Первый цикл For…Next с помощью метода InsertLines вставляет в область окна программы CodePanes(1) 26 последовательно удлиняющихся сегментов латинского алфавита, начиная с буквы "a". Последний вставленный сегмент представляет собой весь алфавит.

Второй цикл For…Next с помощью метода ReplaceLine замещает строку с четным номером последним символом текста, который содержался в этой строке ранее. Строки с нечетными номерами не изменяются.

For I = 1 to 26

Application.VBE.CodePanes(1).CodeModule.InsertLines I, Mid$("abcdefghijklmnopqrstuvwxyz", 1, I)

Next I

For I = 1 to 13

Application.VBE.CodePanes(1).CodeModule.ReplaceLine 2*I, Mid$("abcdefghijklmnopqrstuvwxyz", 1, I)

Next I

Пример использования метода SetFocus

В данном примере метод SetFocus используется для установки фокуса на определенный компонент семейства Windows. Другими словами, он вызывает те же последствия, что и выделение мышью заголовка данного окна.

Application.VBE.Windows(9).SetFocus

Пример использования метода SetSelection

В данном примере метод SetSelection используется для выделения участка текста, первый символ которого совпадает с символом, который следует непосредственно за четвертым символом второй строки CodePanes(1), а последний совпадает с пятнадцатым символом третьей строки.

Application.VBE.CodePanes(1).SetSelection 2,4,3,15

Пример использования метода Show

В данном примере метод Show используется для вывода указанной области окна программы на передний план.

Application.VBE.CodePanes(2).Show

Событие Click

Данное событие происходит, когда установлено свойство OnAction для соответствующего элемента управления на панели команд.

Синтаксис

Sub объект_Click (ByVal ctrl As Object, ByRef handled As Boolean, ByRef canceldefault As Boolean)

Синтаксис события Click (Нажатие кнопки) содержит следующие именованные аргументы:

Элемент

Описание

 

ctrl

Обязательный; тип данных Object. Указывает объект -- источник события "Нажатие кнопки" (Click).

handled

Обязательный; тип данных Boolean. Если его значение равно True, событие должно обрабатываться с помощью других надстроек. Если False -- действие элемента панели команд не было обработано.

canceldefault

Обязательный; тип данных Boolean. Если его значение равно True, выполняются действия, предусмотренные по умолчанию, до их отмены надстройкой, обрабатывающей нисходящий поток команд. Если False -- действия, предусмотренные по умолчанию не выполняются до их восстановления надстройкой, обрабатывающей нисходящий поток команд.

Дополнительные сведения

Событие Click с объектом CommandBarEvents выполняется особым образом. С помощью ключевого слова WithEvents описывается переменная, определяющая событие Click для элемента управления CommandBar. Этой переменной будет присвоено возвращаемое значение свойства CommandBarEvents объекта Events. Свойство CommandBarEvents использует элемент управления CommandBar в качестве аргумента. При выборе элемента управления CommandBar (для переменной, описанной с помощью ключевого слова WithEvents) выполняется программа.

Событие ItemAdded

Данное событие происходит после добавления ссылки.

Синтаксис

Sub объект_ItemAdded(ByVal элемент As Reference)

Обязательный аргумент элемент указывает добавленный объект.

Дополнительные сведения

Событие ItemAdded (Элемент добавлен) происходит, когда объект Reference добавляется в семейство References.

Событие ItemRemoved

Данное событие происходит после удаления ссылки из проекта.

Синтаксис

Sub объект_ItemRemoved(ByVal элемент As Reference)

Обязательный аргумент элемент указывает объект Reference, который был удален.

Пример события "Нажатие кнопки" (Click)

В данном примере проиллюстрировано, как можно написать программу для процедуры события "Нажатие кнопки" (Click) с помощью инструкций WithEvents и Set. Следует отметить, что вместо пункта меню Сервис в имени события "Нажатие кнопки" (Click) используется ссылка на объект ce.

Private WithEvents ce As CommandBarEvents

Sub Test()

Dim c As CommandBarControl

Set c = Application.VBE.CommandBars("Сервис").Controls(1)

Set ce = Application.VBE.Events.CommandBarEvents(c)

End Sub

Private Sub ce_Click(ByVal CommandBarControl As Object, Handled As Boolean, CancelDefault As Boolean)

' Место для инструкций обработки события.

End Sub

Свойство SelectedVBComponent

Возвращает выделенный компонент. Только для чтения.

Дополнительные сведения

Свойство SelectedVBComponent возвращает выделенный компонент в окно проекта. Если элемент, выделенный в окне проекта, не является компонентом, свойство SelectedVBComponent возвращает значение Nothing.

Свойство ActiveVBProject

Возвращает активный проект в окно проекта. Только для чтения.

Дополнительные сведения

Свойство ActiveVBProject возвращает проект, выделенный в окне проекта или проект, содержащий выделенный компонент. В последнем случае проект не обязан быть выделенным. Вне зависимости от того, имеется ли проект, выделенный явным образом, всегда существует активный проект.

Свойство ActiveWindow

Возвращает активное окно в среде разработчика. Только для чтения.

Дополнительные сведения

Если в среде разработчика открыто несколько окон, значением свойства ActiveWindow является окно, имеющее фокус. Когда фокус имеет главное окно, свойство ActiveWindow возвращает значение Nothing.

Свойство Caption

Возвращает значение типа String, содержащее заголовок активного окна. Только для чтения.

Дополнительные сведения

Заголовком активного окна называют текст, выводящийся в строке заголовка окна.

Свойство CodeModule

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

Дополнительные сведения

Свойство CodeModule возвращает значение Nothing, если компонент не имеет связанного с ним программного модуля.

Примечание. Объект CodePane представляет видимое окно программы. Конкретный компонент может иметь несколько объектов CodePane. Объект CodeModule представляет программу, определенную для компонента. Каждому компоненту может соответствовать только один объект CodeModule.

Свойство CodePane

Возвращает объект CodePane. Только чтение.

Дополнительные сведения

Если область программы существует, она становится активной областью программы, а содержащее ее окно - активным окном. Если области программы для модуля не существует, свойство CodePane создает ее.

Свойство CodePaneView

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

Возвращаемые значения

Свойство CodePaneView возвращает следующие значения:

Константа

Описание

 

vbext_cv_ProcedureView

Указанная область программы находится в режиме просмотра процедуры.

Vbext_cv_FullModuleView

Указанный проект находится в режиме просмотра модуля.

 

Свойство Collection

Возвращает семейство, содержащее объект, с которым работает пользователь. Только для чтения.

Дополнительные сведения

Для большинства объектов в используемой модели объектов определено либо свойство Parent, либо свойство Collection, указывающее на родительский объект указанного объекта.

Свойство Collection обеспечивает доступ к свойствам, методам и элементам управления семейства, к которому принадлежит объект.

Свойство CommandBarEvents

Возвращает объект CommandBarEvents. Только для чтения.

Значения

Аргумент, передаваемый в свойство CommandBarEvents, имеет вид:

Аргумент

Описание

 

элементVB

Должен представлять объект типа CommandBarControl.

Дополнительные сведения

Свойство CommandBarEvents используют для возвращения объекта-источника события, который запускает событие при нажатии кнопки на панели инструментов. Аргумент, передаваемый в свойство CommandBarEvents, должен представлять элемент управления панели инструментов, для которого генерируется событие нажатия кнопки.

Свойство Count

Возвращает значение типа Long, содержащее число элементов в семействе. Только для чтения.

Свойство CountOfLines

Возвращает значение типа Long, содержащее число строк программы в программном модуле. Только для чтения.

Свойство CountOfDeclarationLines

Возвращает значение типа Long, содержащее число строк программы в разделе описаний программного модуля. Только для чтения.

Свойство CountOfVisibleLines

Возвращает значение типа Long, содержащее число строк, которые являются видимыми в области программы. Только для чтения.

Свойство ActiveCodePane

Возвращает активный или последний активный объект CodePane или указывает активный объект CodePane. Чтение/запись.

Дополнительные сведения

В свойстве ActiveCodePane можно указать любой допустимый объект CodePane, как показано в следующем примере:

Set MyApp.VBE.ActiveCodePane = MyApp.VBE.CodePanes(1)

Эта инструкция делает активной областью программы первую область программы в семействе областей программы. Область программы можно также сделать активной с помощью метода Set.

Свойство Description

Возвращает или задает строковое выражение, содержащее описание объекта. Для объекта VBProject это свойство доступно для чтения/записи; для объекта Reference свойство доступно только для чтения.

Дополнительные сведения

Для объекта VBProject свойство Description возвращает или задает стоку описания, связанную с активным проектом.

Для объекта Reference свойство Description возвращает краткое описание ссылки.

Свойство Designer

Возвращает объект, обеспечивающий доступ к средствам разработки компонента.

Дополнительные сведения

Если для объекта открыто окно конструктора, свойство Designer возвращает открытое окно конструктора; в противном случае создается новое окно конструктора. Окно конструктора является характеристикой определенных объектов VBComponent, при создании которых окно конструктора создается вместе с объектом. Компонент может иметь только одно окно конструктора, причем всегда одно и то же. Свойство Designer обеспечивает доступ к объекту, специфическому для компонента. В некоторых случаях, например, для стандартных модулей и модулей класса окно конструктора не создается, поскольку эти типы объектов VBComponent не поддерживают окно конструктора.

Если объект VBComponent не имеет окна конструктора, свойство Designer возвращает значение Nothing.

Свойство DesignerWindow

Возвращает объект Window, представляющий окно конструктора компонента.

Дополнительные сведения

Если компонент поддерживает окно конструктора, но не имеет открытого окна конструктора, то окно конструктора создается при обращении к свойству DesignerWindow, но при этом является невидимым. Чтобы сделать окно видимым, следует задать значение True для свойства Visible объекта Window.

Свойство CodePanes

Возвращает семейство активных объектов CodePane. Только для чтения.

Свойство GUID

Возвращает значение типа String, содержащее идентификатор класса объекта. Только для чтения.

Свойство HasOpenDesigner

Возвращает значение типа Boolean, указывающее, имеет или нет объект VBComponent открытое окно конструктора. Только для чтения.

Возвращаемые значения

Свойство HasOpenDesigner возвращает следующие значения:

Значение

Описание

 

True

Объект VBComponent имеет открытое окно конструктора.

False

Объект VBComponent не имеет открытого окна конструктора

 

Свойство Height

Возвращает или задает значение типа Single, содержащее высоту окна в единицах твип. Чтение/запись.

Дополнительные сведения

Изменение значения свойства Height связанного окна или закрепленного окна не имеет последствий, пока окно остается связанным или закрепленным.

Свойство HelpContextID

Возвращает или задает значение типа String, содержащее контекстный идентификатор раздела справки Microsoft Windows. Чтение/запись.

Свойство HelpFile

Возвращает или задает значение типа String, указывающее файл справки Microsoft Windows для проекта. Чтение/запись.

Свойство IndexedValue

Возвращает или задает значение компонента свойства, которое определяется индексированным списком или массивом.

Дополнительные сведения

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

Свойство IndexedValue принимает до 4 индексов. Число индексов, принимаемых свойством IndexedValue, возвращается в значении свойства NumIndices.

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

Свойство IsBroken

Возвращает значение типа Boolean, указывающее, представляет ли объект Reference допустимую ссылку в реестре. Только для чтения.

Возвращаемые значения

Свойство IsBroken возвращает следующие значения:

Значение

Описание

 

True

Объект Reference более не представляет допустимую ссылку в реестре.

False

Объект Reference представляет допустимую ссылку в реестре.

 

Свойство BuiltIn

Возвращает значение типа Boolean, указывающее, является ли ссылка стандартной ссылкой, которую нельзя удалить. Только для чтения.

Возвращаемые значения

Свойство BuiltIn возвращает следующие значения:

Значение

Описание

 

True

Ссылка является стандартной ссылкой, которую нельзя удалить.

False

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

 

Свойство Saved

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

Возвращаемые значения

Свойство Saved возвращает следующие значения:

Значение

Описание

 

True

Объект не был изменен после его последнего сохранения.

False

Объект был изменен после его последнего сохранения.

Дополнительные сведения

Метод SaveAs задает для свойства Saved значение True.

Примечание. Ели задать для свойства Saved значение False в программе, это свойство будет возвращать значение False, а объект будет отмечен как измененный после его последнего сохранения.

Свойство Left

Возвращает или задает значение типа Single, содержащее положение левой границы окна на экране в единицах твип. Чтение/запись.

Дополнительные сведения

Значение, возвращаемое свойством Left, зависит от того, является ли окно связанным или закрепленным.

Примечание. Изменение значения свойства Left для связанного или закрепленного окна не имеет последствий, пока окно остается связанным или закрепленным.

Свойство LinkedWindowFrame

Возвращает объект Window, представляющий рамку, содержащую окно. Только для чтения.

Дополнительные сведения

Свойство LinkedWindowFrame обеспечивает доступ к объекту, представляющему рамку связанных окон, свойства которой отличаются от свойств содержащихся в ней окон. Если окно не является связанным, свойство LinkedWindowFrame возвращает значение Nothing.

Свойство FullPath

Возвращает значение типа String, содержащее путь и имя файла адресуемой библиотеки типов. Только для чтения.

Свойство MainWindow

Возвращает объект Window, представляющий главное окно среды разработчика Visual Basic. Только для чтения.

Дополнительные сведения

Объект Window, который возвращается свойством MainWindow, используют для добавления или удаления закрепленных окон. Этот объект Window используется также для развертывания, свертывания, скрытия или восстановления главного окна среды разработчика Visual Basic.

Свойство Major

Возвращает значение типа Long, содержащее основной номер версии адресуемой библиотеки типов. Только для чтения.

Дополнительные сведения

Значение, возвращаемое свойством Major, соответствует основному номеру версии, сохраненному в библиотеке типов, на которую задается ссылка.

Свойство Minor

Возвращает значение типа Long, содержащее дополнительный номер версии адресуемой библиотеки типов. Только для чтения.

Дополнительные сведения

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

Свойство Mode

Возвращает значение, определяющее режим указанного проекта. Только для чтения.

Возвращаемые значения

Свойство Mode возвращает следующие значения:

Константа

Описание

 

vbext_vm_RunMode

Указанный проект находится в режиме выполнения.

vbext_vm_BreakMode

Указанный проект находится в режиме прерывания.

vbext_vm_DesignMode

Указанный проект находится в режиме конструктора.

 

Свойство Name

Возвращает или задает значение типа String, содержащее имя, которое используется в программе для идентификации объекта. Для объектов VBProject и VBComponent это свойство доступно для чтения/записи; для объекта Property и объекта Reference свойство доступно только для чтения.

Дополнительные сведения

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

Объект

Применение свойства Name

 

VBProject

Возвращает или задает имя активного проекта.

VBComponent

Возвращает или задает имя компонента. При попытке указать в свойстве Name уже используемое или недопустимое имя возникает ошибка.

Property

Возвращает имя свойства в том виде, как оно выводится в окне свойств. Это же значения используется для индексации семейства Properties. Это имя задать невозможно.

Reference

Возвращает имя ссылки в программе. Это имя задать невозможно

Имя, которое новые объекты получаю по умолчанию, образуется из типа объекта и уникального целого числа. Например, первый новый объект Form получает имя Form1, следующий объект Form имя Form2, а третий элемент управления, являющийся полем (TextBox) в форме имя TextBox3.

Имя объекта (значение свойства Name) должно начинаться с буквы и содержать не более 40 символов. В имя можно включать цифры и символы подчеркивания (_), но нельзя включать пробелы или знаки препинания. Имена форм и модулей не должны совпадать с именами других общих объектов, таких как Clipboard, Screen или App. Хотя в качестве значения свойства Name можно указать ключевое слово, имя свойства или имя другого объекта, делать это не рекомендуется во избежание конфликтов имен в программе.

Свойство NumIndices

Возвращает количество индексов для свойства, возвращаемого объектом Property.

Дополнительные сведения

Значением свойства NumIndices может быть любое целое число от 0 до 4. Для большинства свойств свойство NumIndices возвращает значение 0. Свойства, индексируемые обычным образом, возвращают значение 1. Массивы свойств могут возвращать значение 2.

Свойство Object

Возвращает или задает значение объекта, который возвращается свойством. Чтение/запись.

Дополнительные сведения

Если возвращается объект, то свойство Object позволяет задать или возвратить значение этого объекта.

Свойство Parent

Возвращает объект или семейство, которое содержит другой объект или семейство. Только для чтения.

Дополнительные сведения

Для большинства объектов определено либо свойство Parent, либо свойство Collection, указывающее на родительский объект, который данный объект имеет в иерархии объектов. Свойство Collection используется, если родительский объект является семейств.

Свойство Parent используют для доступа к свойствам, методам и элементам управления родительского объекта.

Свойство Protection

Возвращает значение, указывающее состояние защиты проекта. Только для чтения.

Возвращаемые значения

Свойство Protection возвращает следующие значения:

Константа

Описание

 

vbext_Protection

Указанный проект защищен.

vbext_NoProtection

Указанный проект не защищен.

vbext_Locked

Указанный проект блокирован.

 

Свойство ReferencesEvents

Возвращает объект ReferencesEvents. Только для чтения.

Значения

Аргумент, передаваемый в свойство ReferencesEvents, может иметь следующие значения:

Аргумент

Описание

 

проектVB

Если аргумент проектVB имеет значение Nothing, возвращенный объект будет передавать события в семейства References всех объектов VBProject в семействе VBProjects.
Если аргумент проектVB указывает на допустимый объект VBProject, то возвращенный объект будет передавать события только в семейство References этого проекта.

Дополнительные сведения

Свойство ReferencesEvents принимает аргумент и возвращает объект-источник события. Объект ReferencesEvents является источником событий, которые генерируются при добавлении или удалении ссылок.

Свойство Top

Возвращает или задает значение типа Single, указывающее положение верхнего края окна на экране в единицах твип. Чтение/запись.

Дополнительные сведения

Значение, возвращаемое свойством Top, зависит от того, является ли окно закрепленным окном, связанным окном или выводится в режиме закрепления.

Примечание. Изменение значения свойства Top для связанного или закрепленного окна не имеет последствий, пока окно остается связанным или закрепленным.

Свойство TopLine

Возвращает значение типа Long, указывающее номер верхней строки, которая выводится в области программы, или задающее номер строки, которая является верхней в области программы. Чтение/запись.

Дополнительные сведения

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

Значение свойства TopLine должно быть целым положительным числом. Если для свойства TopLine задается значение, превышающее число строк в программе, то значением этого свойства становится номер последней строки.

Свойство Type

Возвращает числовое или строковое значение, определяющее тип объекта. Только для чтения.

Возвращаемые значения

Значения свойства Type объекта Window перечислены в следующей таблице:

Константа

Значение

Описание

 

vbext_wt_CodeWindow

0

Окно программы

vbext_wt_Designer

1

Окно конструктора

vbext_wt_Browser

2

Окно поиска объекта

vbext_wt_Watch

3

Область контрольных значений

vbext_wt_Locals

4

Национальные настройки

vbext_wt_Immediate

5

Область проверки

vbext_wt_ProjectWindow

6

Окно проекта

vbext_wt_PropertyWindow

7

Окно свойств

vbext_wt_Find

8

Диалоговое окно поиска

vbext_wt_FindReplace

9

Диалоговое окно поиска и замены

vbext_wt_Toolbox

10

Набор инструментов

vbext_wt_LinkedWindowFrame

11

Рамка связанных окон

vbext_wt_MainWindow

12

Главное окно

vbext_wt_Preview

13

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

vbext_wt_ColorPalette

14

Окно палитры цветов

Значения свойства Type объекта VBComponent перечислены в следующей таблице:

Константа

Описание

 

vbext_ct_ClassModule

Модуль класса

vbext_ct_MSForm

Форма Microsoft

vbext_ct_StdModule

Стандартный модуль

vbext_ct_Document

Модуль документа

Значения свойства Type объекта Reference перечислены в следующей таблице:

Константа

Описание

 

vbext_rt_TypeLib

Библиотека типов

vbext_rt_Project

Проект

 

Свойство Value

Возвращает или задает значение типа Variant, определяющее значение свойства. Чтение/запись.

Дополнительные сведения

Поскольку свойство Value возвращает значение типа Variant, оно обеспечивает доступ к любому свойству. Для доступа к спискам следует использовать свойство IndexedValue.

Если свойство, представляемое объектом Property, доступно для чтения/записи, свойство Value также доступно для чтения/записи. Если свойство доступно только для чтения, попытка задать для него значение свойства Value приводит к ошибке. Если свойство допускает только запись, попытка возвратить значение свойства Value приводит к ошибке.

Свойство Value является используемым по умолчанию свойством объекта Property.

Свойство VBE

Возвращает корневой объект VBE. Только для чтения.

Дополнительные сведения

Все объекты имеют свойство VBE, указывающее на корневой объект VBE.

Свойство Version

Возвращает значение типа String, содержащее версию языка Visual Basic для приложений (VBA), используемую приложением. Только для чтения.

Дополнительные сведения

Значение свойства Version является строкой, содержащей одну или две цифры, точку и еще две цифры; остальная часть строки может содержать любой текст или цифры.

Свойство Visible

Для объекта Window возвращает или задает значение типа Boolean, указывающее, является ли окно видимым. Чтение/запись. Для объекта CodePane возвращает значение типа Boolean, указывающее, является ли видимой область программы в окне. Только для чтения.

Возвращаемые значения

Свойство Visible возвращает следующие значения:

Значение

Описание

 

True

(По умолчанию). Объект является видимым.

False

Объект является скрытым.

 

Свойство Width

Возвращает или задает значение типа Single, содержащее ширину окна твип. Чтение/запись.

Дополнительные сведения

Изменение значения свойства Width для связанного или закрепленного окна не имеет последствий, пока окно остается связанным или закрепленным.

Свойство Window

Возвращает окно, в котором выводится область программы. Только для чтения.

Свойство WindowState

Возвращает или задает числовое значение, определяющее вид окна. Чтение/запись.

Значения

Свойство WindowState возвращает или задает следующие значения:

Константа

Значение

Описание

 

vbext_ws_Normal

0

(По умолчанию). Обычное окно.

vbext_ws_Min

1

Окно свернуто в значок.

vbext_ws_Max

2

Окно развернуто до максимального размера.

Пример использования свойства ActiveCodePane

В данном примере свойства ActiveCodePane и TopLine используются для определения номера первой строки активной области окна программы.

Debug.Print Application.VBE.ActiveCodePane.TopLine

Пример использования свойства ActiveVBProject

В следующем примере свойство ActiveVBProject используется для определения имени активного проекта.

Debug.Print Application.VBE.ActiveVBProject.Name

Пример использования свойства ActiveWindow

В следующем примере свойство ActiveWindow используется для определения заголовка активного окна.

Debug.Print Application.VBE.ActiveWindow.Caption

Пример использования свойства BuiltIn

В следующем примере свойство BuiltIn используется для возвращения переменной типа Boolean, указывающей, является ли некоторая ссылка в активном проекте встроенной.

Debug.Print Application.VBE.ActiveVBProject.References(1).BuiltIn

Пример использования свойства Caption

В следующем примере свойство Caption используется для вывода на экран заголовка активного окна.

Debug.Print Application.VBE.ActiveWindow.Caption

Пример использования свойства CodeModule

В следующем примере свойства CodeModule и CountOfLines используются для определения числа строк в указанном программном модуле.

Debug.Print Application.VBE.ActiveVBProject.VBComponents(6).CodeModule.CountOfLines

Пример использования свойства CodePane

В данном примере свойства CodePane и TopLine используются для вывода на экран номера первой строки в программном модуле выделенного объекта VBComponent.

Debug.Print Application.VBE.SelectedVBComponent.CodeModule.CodePane.TopLine

Пример использования свойства CodePanes

В данном примере свойства CodePanes и TopLine используются для вывода на экран номера первой строки указанной области окна программы

Debug.Print Application.VBE.CodePanes(3).TopLine

Пример использования свойства CodePaneView

В следующем примере свойство CodePaneView используется для возвращения значения, определяющего, выводится ли указанная область окна программы при просмотре процедуры или полного модуля.

Debug.Print Application.VBE.CodePanes(3).CodePaneView

Пример использования свойства Collection

В следующем примере свойства Collection и Count используются для определения номеров объектов, содержащихся в активном проекте и рассматриваемых как семейство объектов.

Debug.Print Application.VBE.ActiveVBProject.Collection.Count

Пример использования свойства CommandBarEvents

В данном примере приводится программа, использующая свойство CommandBarEvents. Это свойство применяется в программах для обработки нажатия кнопки мыши в панели команд.

Private WithEvents ce As CommandBarEvents

Sub Test()

Dim c As CommandBarControl

Set c = Application.VBE.CommandBars("Сервис").Controls(1)

Set ce = Application.VBE.Events.CommandBarEvents(c)

End Sub

Private Sub ce_Click(ByVal CommandBarControl As Object, Handled As Boolean, CancelDefault As Boolean)

' Место для программы обработки событий.

End Sub

Пример использования свойства Count

В следующем примере свойство Count используется для определения числа объектов VBComponent в указанном проекте.

Debug.Print Application.VBE.VBProjects(1).VBComponents.Count

Пример использования свойства CountOfDeclarationLines

В следующем примере свойство CountOfDeclarationLines используется для определения числа строк описания в указанной области окна программы.

Debug.Print Application.VBE.CodePanes(2).CodeModule.CountOfDeclarationLines

Пример использования свойства CountOfLines

В следующем примере свойство CountOfLines используется для определения полного числа строк в указанной области окна программы.

Application.VBE.CodePanes(2).CodeModule.CountOfLines

Пример использования свойства CountOfVisibleLines

В следующем примере свойство CountOfVisibleLines используется для определения числа видимых одновременно строк в указанной области окна программы при заданной высоте этой области.

Debug.Print Application.VBE.Codepanes(3).CountOfVisibleLines

Пример использования свойства Description

В первом из приведенных примеров свойство Description используется, чтобы задать описание для указанного проект. Затем описание выводится на печать для проверки выполнения предыдущей операции.

Во втором примере свойство Description используется для возвращения подробных имен указанных объектов Reference некоторого проекта.

Application.VBE.VBProjects(1).Description = "Горячие пирожки"

Debug.Print Application.VBE.VBProjects(1).Description

Debug.Print Application.VBE.VBProjects(1).References(1).Description

Debug.Print Application.VBE.VBProjects(1).References(2).Description

Пример использования свойства Designer

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

Debug.Print Application.VBE.SelectVBComponent.Designer.Controls.Count

Пример использования свойства DesignerWindow

В следующем примере свойства DesignerWindow и Visibile использованы, чтобы определить, является ли некоторый конструктор видимым. При этом объект VBComponent должен представлять собой форму.

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).DesignerWindow.Visible

Пример использования свойства FullPath

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

Debug.Print Application.VBE.ActiveVBProject.References(1).FullPath

Пример использования свойства GUID

В следующем примере свойство GUID используется для возвращения кода GUID для указанного объекта Reference конкретного проекта.

Debug.Print Application.VBE.VBProjects(1).References(1).GUID

Пример использования свойства HasOpenDesigner

В следующем примере свойство HasOpenDesigner использовано, чтобы определить, имеет ли указанный компонент некоторого проекта (в данном случае форма) открытый конструктор.

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).HasOpenDesigner

Пример использования свойств Height и Width

В следующем примере свойства Height и Width используются для определения высоты и ширины (в твипах) некоторого окна. Когда указанное окно связано с другим окном или закреплено в главном окне, параметры этих свойств изменяются, поскольку в этих случаях они относятся к объекту Window, в котором исходное окно связано или закреплено.

Debug.Print Application.VBE.Windows(9).Height

Debug.Print Application.VBE.Windows(9).Width

Пример использования свойства HelpContextID

В следующем примере свойство HelpContextID используется для возвращения идентификатора контекстной справки для файла справочной системы, соответствующего проекту.

Debug.Print Application.VBE.VBProjects(1).HelpContextID

Пример использования свойства HelpFile

В следующем примере свойство HelpFile используется для введения файла справочной системы в проект. Затем полный путь данного файла выводится на печать для проверки выполнения описанной операции.

Application.VBE.VBProjects(1).HelpFile = "C:\HelpStuff\veenob3.hlp"

Debug.Print Application.VBE.VBProjects(1).HelpFile

Пример использования свойства IsBroken

В следующем примере свойство IsBroken используется для возвращения значения, которое определяет, указанный объект Reference в некотором проекте неразрешенной ссылкой.

Debug.Print Application.VBE.vbprojects(1).References(1).IsBroken

Пример использования свойств Left и Top

В следующем примере свойства Left и Top используются для определения координат верхнего левого угла некоторого окна (в твипах). Когда указанное окно связано с другим окном или закреплено в главном окне, параметры данных свойств изменяются, поскольку в этих случаях они относятся к объекту Window, в котором исходное окно связано или закреплено.

Debug.Print Application.VBE.Windows(9).Left

Debug.Print Application.VBE.Windows(9).Top

Пример использования свойства MainWindow

В следующем примере свойство MainWindow используется для определения объекта Window, представляющего главное окно. Затем заголовок главного окна выводится на печать.

Debug.Print Application.VBE.MainWindow.Caption

Пример использования свойства Major

В следующем примере свойство Major используется для возвращения номера максимальной версии указанного объекта Reference в некотором проекте.

Debug.Print Application.VBE.VBProjects(1).References(1).Major

Пример использования свойства Minor

В следующем примере свойство Minor используется для возвращения номера минимальной версии указанного объекта Reference в некотором проекте.

Debug.Print Application.VBE.VBProjects(1).References(1).Minor

Пример использования свойства Mode

В следующем примере свойство Mode используется для определения режима активного проекта. При этом возвращается заранее определенная константа, соответствующая режиму проекта.

Debug.Print Application.VBE.ActiveVBProject.Mode

Пример использования свойства Name

В следующем примере свойство Name используется для определения имени указанного компонента семейства VBComponents в некотором проекте.

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).Name

Пример использования свойства NumIndices

В следующем примере свойство NumIndices используется для возвращения числа индексов, относящихся к указанному свойству определенного объекта VBComponent.

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).Properties(40).NumIndices

Пример использования свойства Object

В следующем примере имя значка вводится в список значков указанного объекта, представляющего собой форму.

Set Application.VBE.ActiveVBProject.VBComponents(1).Properties("Значок").Object = LoadPicture("Baseball.ico")

Пример использования свойства Parent

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

Debug.Print Application.VBE.ActiveVBProject.VBComponents.Parent.Name

Пример использования свойства Protection

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

Debug.Print Application.VBE.ActiveVBProject.Protection

Пример использования свойства ReferencesEvents

В данном примере приводится программа, использующая свойство ReferencesEvents. Это свойство применяется в программе обработки событий для добавления или удаления ссылок.

Private WithEvents X As ReferencesEvents

Sub Test()

Set X = Application.VBE.Events.ReferencesEvents

End Sub

Private Sub X_ItemAdded(ByVal Reference As VBIDE.Reference)

' Место для программы добавления элемента.

End Sub

Private Sub X_ItemRemoved(ByVal Reference As VBIDE.Reference)

' Место для программы удаления элемента.

End Sub

Пример использования свойства Saved

В следующем примере свойство Saved используется для возвращения переменной типа Boolean, указывающей, был ли указанный проект сохранен в текущем состоянии.

Debug.Print Application.VBE.VBProjects(1).Saved

Пример использования свойства SelectedVBComponent

В следующем примере свойство SelectedVBComponent используется для определения выделенного компонента.

Debug.Print Application.VBE.SelectedVBComponent.Name

Пример использования свойства TopLine

В данном примере свойство TopLine используется для возвращения номера первой строки указанной области окна программы.

Debug.Print Application.VBE.CodePanes(3).TopLine

Пример использования свойства Type

В следующем примере свойство Type используется для возвращения значения, соответствующего типу указанного компонента семейства VBComponents в некотором проекте. Возвращаемое значение представляет собой константу, определенную заранее для одного из объектных типов компонентов.

Debug.Print Application.VBE.VBProjects(1).VBComponents(1).Type

Пример использования свойства Value

В следующем примере свойство Value используется для возвращения значения указанного свойства одного из компонентов семейства VBComponents.

Debug.Print Application.VBE. ActiveVBProject.VBComponents(1).Properties("AcceptLabelsInFormulas").Value

Пример использования свойства VBE

В следующем примере свойства VBE и Name используются для определения имени активного проекта.

Debug.Print Application.VBE.ActiveVBProject.Name

Пример использования свойства Version

В следующем примере свойство Version используется для определения номера версии главного приложения.

Debug.Print Application.VBE.Version

Пример использования свойства Visible

В следующем примере свойство Visible используется для возвращения переменной типа Boolean, которая показывает, является ли указанное окно видимым.

Debug.Print Application.VBE.Windows(9).Visible

Пример использования свойства Window

В следующем примере свойства Window и Caption используются для возвращения заголовка указанной области окна программы.

Debug.Print Application.VBE.CodePanes(1).Window.Caption

Пример использования свойства WindowState

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

Debug.Print Application.VBE.Windows(9).WindowState

Объект CodeModule

Представляет программу, определенную для таких компонентов проекта как форма, класс или документ.

Дополнительные сведения

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

Каждый компонент связывается с одним объектом CodeModule. Однако объект CodeModule может быть связан с несколькими областями программы.

Методы, определенные для объекта CodeModule, позволяют построчно обрабатывать программы и возвращать информацию о тексте программы. Например, метод AddFromString используют для добавления текста в модуль. Метод AddFromString помещает текст непосредственно перед первой процедурой в модуле или в конец модуля, если в модуле нет процедур.

Свойство Parent позволяет возвратить объект VBComponent, связанный с программным модулем.

Объект CommandBarEvents

Возвращается свойством CommandBarEvents. Объект CommandBarEvents запускает событие при выборе элемента управления на панели инструментов.

Дополнительные сведения

Объект CommandBarEvents возвращается свойством CommandBarEvents объекта Events. В интерфейсе возвращенного объекта имеется одно событие нажатия кнопки. Для обработки этого события используется описание WithEvents.

Семейство CommandBars

Содержит все панели команд в проекте, включая панели команд, поддерживающие контекстные меню.

Дополнительные сведения

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

Объект VBComponent

Представляет компонент, содержащийся в проекте, например, модуль класса или стандартном модуле.

Дополнительные сведения

Объект VBComponent используют для доступа к программному модулю, связанному с компонентом, или для изменения значений свойств компонента.

Свойство Type позволяет определить тип компонента, ссылка на который содержится в объекте VBComponent. Для определения семейства, в которое входит компонент, используется свойство Collection.

Семейство VBComponents

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

Дополнительные сведения

Семейство VBComponents используется для доступа, добавления или удаления компонентов проекта, таких как форма, модуль или класс. Семейство VBComponents является стандартным семейством, которое может быть использовано в блоке For Each.

Свойство Parent возвращает проект, в который входит семейство VBComponents.

В языке Visual Basic для приложений (VBA) поддерживается метод Import, позволяющий добавлять в проект компонент из файла.

Объект CodePane

Представляет область программы.

Дополнительные сведения

Объект CodePane используется для управления положением видимого текста или выделенного текста, выводящегося в области программы.

Для того чтобы сделать видимой указанную область программы, используют метод Show. Метод SetSelection задает, а метод GetSelection возвращает положение выделенного фрагмента в области программы.

Семейство CodePanes

Содержит активные области программы из объекта VBE.

Дополнительные сведения

Семейство CodePanes обеспечивает доступ к открытым областям программы в проекте.

Для возвращения числа активных областей программы в семействе используют свойство Count.

Объект Events

Содержит свойства, обеспечивающие подключение надстроек ко всем событиям Visual Basic для приложений (VBA).

Дополнительные сведения

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

Свойства объекта Events возвращают объекты, тип которых совпадает с именами свойств. Например, свойство CommandBarEvents возвращает объект CommandBarEvents.

Семейство LinkedWindows

Содержит все связанные окна в рамке связанных окон.

Дополнительные сведения

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

Свойство LinkedWindowFrame объекта Window возвращает объект Window, содержащий допустимое семейство LinkedWindows.

Рамки связанных окон содержат все окна, которые могут быть связаны или закреплены. В их число входят все окна за исключением окна программы, окна конструктора, окна просмотра объектов и окна поиска и замены.

Если все области из рамки связанных окон перемещаются в другое окно, то пустая рамка связанных окон уничтожается. Однако главное окно, из которого удалены все области, не уничтожается.

Чтобы проверить, является ли окно видимым, или сделать окно видимым, используют свойство Visible.

Для добавления окна в семейство текущих связанных окон используется метод Add. Окно, которое является областью одной рамки связанных окон, может быть добавлено в другую рамку связанных окон. Метод Remove используется для удаления окна из текущих связанных окон; в результате окно становится несвязанным или незакрепленным.

Семейство LinkedWindows используют для закрепления окон в главном окне или для снятия закрепления.

Объект Property

Представляет свойства объекта, которые являются доступными для просмотра в окне свойств любого конкретного компонента.

Дополнительные сведения

Свойство Value объекта Property задает или возвращает значение свойства компонента.

Все компоненты имеют по крайней мере одно свойство Name. Чтобы задать или возвратить значение свойства, используется свойство Value объекта Property. Свойство Value возвращает значение типа Variant соответствующего подтипа. Если возвращаемое значение представляет объект, свойство Value возвращает семейство Properties, содержащее объекты Property, представляющие отдельные свойства объект. Для доступа к каждому из объектов Property в возвращенном семействе Properties используют метод Item.

Если значение, возвращаемое объектом Property, представляет объект, пользователь имеет возможность использовать свойство Object, чтобы указать новый объект в значении объекта Property.

Семейство Properties

Представляет свойства объекта.

Дополнительные сведения

Семейство Properties обеспечивает доступ к свойствам, отображаемым в окне свойств. Каждому свойству, выводящемуся в окне свойств, соответствует объект в семействе Properties.

Объект Reference

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

Дополнительные сведения

Объект Reference используют для проверки, является ли ссылка действительной.

Если ссылка более не является действительной, свойство IsBroken возвращает значение True. Если ссылка является стандартной ссылкой, которая не может быть добавлена или удалена, свойство BuiltIn возвращает значение True. При проверке правильности добавляемой или удаляемой ссылки следует использовать свойство Name.

Семейство References

Представляет набор ссылок в проекте.

Дополнительные сведения

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

Объект ReferencesEvents

Возвращается свойством ReferencesEvents.

Дополнительные сведения

Объект ReferencesEvents является источником событий, которые возникают при добавлении ссылки или ее удалении из проекта. При добавлении ссылки в проект возникает событие ItemAdded (добавление элемента). При удалении ссылки возникает событие ItemRemoved (удаление элемента).

Объект VBE

Корневой объект, который содержит все остальные объекты и семейства, определенные в языке Visual Basic для приложений (VBA).

Дополнительные сведения

Для доступа к объектам, содержащимся в объекте VBE, используются следующие семейства:

· Семейство VBProjects используется для доступа к семейству проектов.

· Семейство Windows используется для доступа к семейству окон.

· Семейство CodePanes используется для доступа к семейству областей программы.

· Семейство CommandBars используется для доступа к семейству панелей команд.

· Семейство Events используется для доступа к свойствам, которые активизируют подключение надстроек ко всем событиям Visual Basic для приложений (VBA).

Для возвращения активного компонента используется свойство SelectedVBComponent. Активным компонентом является компонент, выбранный в окне проекта. Если элемент, выделенный в окне проекта, не является компонентом, свойство SelectedVBComponent возвращает значение Nothing.

Примечание. Для каждого объекта в данной модели объектов определено свойство VBE, указывающее на объект VBE.

Объект VBProject

Представляет проект.

Дополнительные сведения

Объект VBProject используется для задания свойств проекта, для доступа к семейству VBComponents, а также для доступа к семейству References.

Семейство VBProjects

Представляет все проекты, открытые в среде разработчика.

Дополнительные сведения

Семейство VBProjects используется для доступа к конкретным проектам в данном экземпляре среды разработчика. Семейство VBProjects является стандартным семейством, которое может быть использовано в блоке For Each.

Объект Window

Представляет окно в среде разработчика.

Дополнительные сведения

Объект Window используется для вывода на экран, скрытия или размещения окон.

Для закрытия окна, входящего в семейство Windows, используют метод Close. Метод Close действует на окна разных типов следующим образом:

Окно

Результат вызова метода Close

 

Окно программы

Удаляет окно из семейства Windows.

Окно конструктора

Удаляет окно из семейства Windows.

Объекты Window типа рамки связанных окон

Преобразует окна в отдельные несвязанные окна.

Примечание. Вызов метода Close для окна программы или окна конструктора приводит к фактическому закрытию окна. Заданное для свойства Visible значение False делает окно скрытым, но не закрывает его. Вызов метода Close для окон среды разработчика, таких как окно проекта или окно свойств, приводит к тем же результатам, что и задание значения False для свойства Visible.

Для перевода фокуса в окно следует использовать метод SetFocus.

Свойство Visible позволяет задавать или возвращать состояние видимости окна.

Чтобы проверить тип окна, с которым проводится работа, следует использовать свойство Type. Если имеется несколько окон одного типа, например, несколько окон конструктора, то определить конкретное окно позволяет свойство Caption. Кроме того, нужное окно можно найти с помощью свойства DesignerWindow объекта VBComponent или свойства Window объекта CodePane.

Семейство Windows

Содержит все открытые или постоянные окна.

Дополнительные сведения

Семейство Windows обеспечивает доступ к объектам Window.

В семейство Windows входит постоянный набор окон, которые всегда являются доступными в семействе, таких как окно проекта, окно свойств, а также набор окон, представляющих все открытые окна программ и окна конструктора. При открытии окна программы или окна конструктора в семейство Windows добавляется новый компонент. Закрытие окна программы или окна конструктора приводит к удалению компонента из семейства Windows. При закрытии постоянного окна среды разработчика соответствующий объект не удаляется из семейства, но окно делается невидимым.

 

 

Меню Visual Basic *

Команда “Масштаб” *

Команда “Описание” (контекстное меню) *

Команда “Показать скрытые компоненты” (контекстное меню окна просмотра объектов) *

Команда “Настройка” (контекстное меню) *

Команда “Удалить контрольное значение” (контекстное меню) *

Команда “Только слово целиком (Поиск)” (контекстное меню окна просмотра объектов) *

Команда “Скрыть” (контекстное меню) *

Команда “Свернуть родительский объект” (контекстное меню) *

Команда “Свойства” (контекстное меню) *

Команда “Установить/снять” (контекстное меню) *

Команда “Переместить” (контекстное меню) *

Команды “Закомментировать блок” и “Раскомментировать блок” *

Команда “Свойства” (контекстное меню окна просмотра объектов) *

Команда “Справка” (контекстное меню) *

Команды “Объект” и “Программа” (контекстное меню) *

Команда “Закрепление” (контекстное меню) *

Команда “Компоненты группы” (контекстное меню окна просмотра объектов) *

Команда “Описания” (контекстное меню окна просмотра объектов) *

Команда “Размер” (контекстное меню) *

Команда “Копировать” (контекстное меню окна просмотра объектов) *

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

Команда “Закрыть” (контекстное меню) *

Команды “Шаг с заходом”, “Шаг с обходом” и “Шаг с выходом” (меню “Отладка”) *

Команда “Выполнить до текущей позиции” (меню “Отладка”) *

Команда “Точка останова” (меню “Отладка”) *

Команда “Снять все точки останова” (меню “Отладка”) *

Команда “Следующая инструкция” (меню “Отладка”) *

Команда “Отобразить следующую инструкцию” (меню “Отладка”) *

Команда “Добавить контрольное значение” (меню “Отладка”) *

Команда “Изменить контрольное значение” (меню “Отладка”) *

Команда “Контрольное значение” (меню “Отладка”) *

Окно диалога Добавление контрольного значения *

Окно диалога Изменение контрольного значения *

Окно диалога Контрольное значение *

Окно диалога Просмотр объектов *

Окно диалога Стек вызова *

Окно диалога Параметры компонента *

Окно диалога Настройка печати *

Окно диалога Настройка *

Вкладка Панели инструментов (окно диалога Настройка) *

Вкладка Команды (окно диалога Настройка) *

Вкладка Параметры (окно диалога Настройка) *

Окно диалога Свойства проекта *

Окно диалога Создание панели инструментов *

Окно диалога Переименование панели *

Окно диалога Шрифт *

Значки, использующиеся в окне просмотра объектов и в окне модуля *

Команды Отменить и Вернуть (меню Правка) *

Команды Вырезать, Копировать, Вставить (меню “Правка”) *

Команды Найти и Найти далее (меню “Правка”) *

Команда Заменить (меню “Правка”) *

Команда Увеличить отступ (меню “Правка”) *

Команда Уменьшить отступ (меню “Правка”) *

Команды Закладки (меню “Правка”) *

Команда Выделить все (меню “Правка”) *

Команда Список свойств/методов (меню “Правка”) *

Команда Список констант (меню “Правка”) *

Команда Краткие сведения (меню “Правка”) *

Команда Сведения о параметре (меню “Правка”) *

Команда Завершить слово (меню “Правка”) *

Команда “Печать” (меню “Файл”) *

Команды Выровнять (меню “Формат”) *

Команда Выровнять размер (меню “Формат”) *

Команда Интервал по горизонтали (меню “Формат”) *

Команда Интервал по вертикали (меню “Формат”) *

Команда Разместить по центру в форме (меню “Формат”) *

Команда Выровнять размер по сетке (меню “Формат”) *

Команда Порядок (меню “Формат”) *

Окно модуля *

Окно проверки *

Область Локальные окна отладки *

Область Контрольные окна отладки *

Индикаторы на полях *

Окно отображения значения *

Окно проекта *

Окно свойств *

Типы данных, отображаемые в области Локальные окна отладки *

Вкладка Общие (окно диалога Свойства базы данных) *

Окна диалога Выбор рисунка, Выбор значка *

Окно диалога Ссылки *

Команда “Прервать” (меню “Запуск”) *

Клавиши быстрого вызова в окне модуля *

Клавиши общего назначения в окне модуля *

Клавиши перемещения в окне модуля *

Клавиши редактирования текста программы *

Клавиши быстрого вызова команд меню в окне модуля *

Клавиши быстрого вызова в окне проверки *

Клавиши быстрого вызова в окне отладки *

Клавиши быстрого вызова в окне свойств *

Клавиши быстрого вызова в окне проекта *

Глобальные клавиши быстрого вызова *

Клавиши быстрого вызова в окне UserForm *

Команда “Параметры” (меню “Сервис”) *

Команда Удалить <Элемент>... (меню Файл) *

Команды Очистить и Удалить (меню Правка) *

Команда Импорт файла и Экспорт файла (меню “Файл”) *

Команда Сброс <проект> (меню Запуск) *

Команды Конструктор и Выход из конструктора (меню “Запуск”) *

Команда UserForm (меню Вставка) *

Команды Запуск подпрограммы/формы, Продолжить и Запуск макроса (меню “Запуск”) *

Команда Закрыть и вернуться в <приложение> (меню “Файл”) *

Команда Компилировать <проект> (меню Отладка) *

Команда Объект (меню “Вставка”) *

Команда Сохранить <документ> (меню “Файл”) *

Команда Макрос (меню Сервис) *

Команда <приложение> (меню “Вид”) *

Команда Процедура (меню “Вставка”) *

Команды Модуль и Модуль класса (меню “Вставка”) *

Команда Файл (меню “Вставка”) *

Команда Порядок перехода (меню “Вид”) *

Команды Группировать и Разделить (меню “Формат”) *

Команды Упорядочить кнопки (меню “Формат”) *

Команда Подогнать размер (меню “Формат”) *

Команда Ссылки (меню “Сервис”) *

Команда Дополнительные элементы... (меню “Сервис”) *

Команда Свойства <имя проекта>... (меню “Сервис”) *

Команда Удалить страницу (контекстное меню) *

Команды Импорт страницы и Экспорт страницы (контекстное меню) *

Команда Создать страницу (контекстное меню) *

Команда Переименовать (контекстное меню) *

Команда Удалить <Элемент> (контекстное меню) *

Команда Изменить <Элемент> (контекстное меню) *

Команда Дополнительные элементы... (контекстное меню) *

Команда Вставить объект... (контекстное меню) *

Команды Копировать и Переместить (контекстное меню) *

Стандартная панель инструментов *

Панель инструментов UserForm *

Панель инструментов Отладка *

Панель инструментов Правка *

Окно диалога Параметры *

Окно диалога Экспорт файла *

Окно диалога Импорт файла *

Панель элементов *

Вкладка Общие (окно диалога “Параметры”) *

Вкладка Формат (окно диалога “Параметры”) *

Вкладка Редактор (окно диалога “Параметры”) *

Окно диалога Макрос *

Вкладка Защита (окно диалога Свойства проекта) *

Окно диалога порядка страниц *

Окно диалога настройки элемента управления *

Вкладка Закрепление (окно диалога “Параметры”) *

Окно диалога Вставка файла *

Окно UserForm *

Окно диалога Дополнительные элементы... *

Окно диалога Последовательность перехода *

Окно диалога Вставка процедуры *

Команда Программа (меню Вид) *

Команда Вернуться к последней позиции (меню “Вид”) *

Команда Просмотр объектов (меню “Вид”) *

Команда Свойства (меню “Вид”) *

Команда Панель элементов (меню “Вид”) *

Команда Стек вызова (меню “Вид”) *

Команда Объект (меню “Вид”) *

Команда Окно отладки (меню “Вид”) *

Команда Окно локальных переменных (меню “Вид”) *

Команда Окно контрольного значения (меню “Вид”) *

Команда Описание (меню “Вид”) *

Команда Панели инструментов (меню “Вид”) *

Команда Окно проекта (меню “Вид”) *

Команды меню “Окно” *

Устранение конфликтов имен *

Вызов процедур с одинаковыми именами *

Вызов процедур Property *

Вызов процедур Sub и Function *

Создание объектных переменных *

Создание рекурсивных процедур *

Описание массивов *

Описание констант *

Описание переменных *

Выполнение программы с установкой свойств *

Циклы в программе *

Оптимизация циклов For...Next *

Эффективная передача аргументов *

Возвращение строк из функций *

Условная компиляция *

Время жизни переменных *

Именованные и аргументы Optional *

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

Программирование объектов *

Массивы параметров *

Область определения и видимость *

Тип данных Variant *

Синтаксис Visual Basic *

Использование массивов *

Использование констант *

Эффективное использование типов данных *

Инструкция Do...Loop *

Инструкция For...Next *

Инструкция For Each...Next *

Инструкция If...Then...Else *

Использование скобок в программе *

Инструкция Select Case *

Инструкция With *

Правила присвоения имен в языке Visual Basic *

Работа с приложениями *

Процедура Function *

Процедура Property *

Процедура Sub *

Инструкции присвоения *

Инструкции описания *

Исполняемые инструкции *

Запись данных в файлы *

Инструкции Visual Basic *

Метод Add *

Метод AddFromFile *

Метод AddFromGuid *

Метод AddFromString *

Метод Close *

Метод CreateEventProc *

Метод DeleteLines *

Метод Export *

Метод Find *

Метод GetSelection *

Метод Import *

Метод InsertLines *

Метод Item *

Метод Lines *

Метод ProcBodyLine *

Метод ProcCountLines *

Метод ProcOfLine *

Метод ProcStartLine *

Метод Remove *

Метод ReplaceLine *

Метод SetFocus *

Метод SetSelection *

Метод Show *

Событие Click *

Событие ItemAdded *

Событие ItemRemoved *

Свойство SelectedVBComponent *

Свойство ActiveVBProject *

Свойство ActiveWindow *

Свойство Caption *

Свойство CodeModule *

Свойство CodePane *

Свойство CodePaneView *

Свойство Collection *

Свойство CommandBarEvents *

Свойство Count *

Свойство CountOfLines *

Свойство CountOfDeclarationLines *

Свойство CountOfVisibleLines *

Свойство ActiveCodePane *

Свойство Description *

Свойство Designer *

Свойство DesignerWindow *

Свойство CodePanes *

Свойство GUID *

Свойство HasOpenDesigner *

Свойство Height *

Свойство HelpContextID *

Свойство HelpFile *

Свойство IndexedValue *

Свойство IsBroken *

Свойство BuiltIn *

Свойство Saved *

Свойство Left *

Свойство LinkedWindowFrame *

Свойство FullPath *

Свойство MainWindow *

Свойство Major *

Свойство Minor *

Свойство Mode *

Свойство Name *

Свойство NumIndices *

Свойство Object *

Свойство Parent *

Свойство Protection *

Свойство ReferencesEvents *

Свойство Top *

Свойство TopLine *

Свойство Type *

Свойство Value *

Дополнительные сведения *

Свойство VBE *

Свойство Version *

Свойство Visible *

Свойство Width *

Свойство Window *

Свойство WindowState *

Объект CodeModule *

Объект CommandBarEvents *

Семейство CommandBars *

Объект VBComponent *

Семейство VBComponents *

Объект CodePane *

Семейство CodePanes *

Объект Events *

Семейство LinkedWindows *

Объект Property *

Семейство Properties *

Объект Reference *

Семейство References *

Объект ReferencesEvents *

Объект VBE *

Объект VBProject *

Семейство VBProjects *

Объект Window *

Семейство Windows *