процедурами или функциями имеется возможность отказаться от прохода по всем командам той или иной процедуры или функции, вызвав команду "Шаг с обходом" из меню Отладка или кнопкой на одноименной панели.
Рис. 4.6. Вызов команды Шаг с обходом.
Тогда вся процедура или функция будет выполнена безостановочно, как при обычном исполнении. Команда "Шаг с выходом" доступна в любой процедуре или функции, включая главную, и выполняет в обычном режиме все команды до конца процедуры или функции, переходя затем в режим пошагового исполнения в вызвавшей программе. Данные возможности позволяют отлаживать процедуры и функции по отдельности, что упрощает процесс поиска ошибок и их коррекции.
Разбивая программу на отдельные процедуры и функции, вы получаете возможность легко использовать повторно одни и те же фрагменты кода, обращаясь к ним из программы по мере надобности.
4. Операторы цикла и перехода.
Если необходимо повторить ту или иную группу операций несколько раз, то используются операторы цикла: Do… Loop, For…Next и While… Wend. Для проведения какой-либо операции или группы операций над однотипными объектами используется оператор For Each…Next.
Если необходимо совершить те или иные действия в зависимости от наличия или отсутствия выполнения какого-либо условия или в зависимости от значения той или иной переменной, используются операторы условия: If… Then…Else и Select Case.
Если необходимо совершить переход к другой части той же программы, то используется оператор GoTo "имя метки". Там, куда должен быть совершен переход, на отдельной строке должна стоять метка с соответствующим именем, а после нее — двоеточие.
Подробное описание функций, особенностей и синтаксиса всех этих операторов можно получить в справочной системе редактора Visual Basic for Applications, поэтому не стоит здесь на них останавливаться.
5. Работа с формами.
Формы — это окна интерфейса программы. С их помощью можно сообщать пользователю необходимую информацию или получать ее от него. Для создания форм используются средства редактора Visual Basic for Applications.
Создав форму (из меню правой кнопки мыши в Менеджере проектов выберите команды "Вставить — UserForm") или дважды щелкнув на имени существующей формы, можно попасть в окно Дизайна форм. На появившейся панели инструментов "Панель управления" (если ее нет, то ее можно вызвать из меню "Вид — Панель элементов") представлены элементы, которые можно использовать в формах программ на Visual Basic for Applications (рис. 4.7). Этот набор на настоящее время идентичен во всех версиях Microsoft Office, так что рассмотрим его подробнее.
Итак, назначение элементов набора таково — если смотреть слева направо и идти сверху вниз.
Рис. 4.7. Панель инструментов с компонентами форм. Пояснение в тексте.
1. Поле отображения текста — отображает текстовую информацию (рис. 4.8)
Рис. 4.8. Поле отображения текста.
2. Поле ввода текста — дает пользователю возможность ввести текстовую информацию (рис. 4.9).
Рис. 4.9. Поле ввода текста.
У Поля ввода текста помимо очевидного отличия — собственно возможности ввода в него текста пользователем — есть еще та особенность, что находящийся в нем текст можно выделить и скопировать, в то время как обычное Поле отображения текста этого не позволяет. Поэтому для размещения на форме доступной для копирования пользователями через буфер обмена информации (например, e-mail — адреса автора, ссылки на его сайт) лучше использовать именно Поле ввода текста, при необходимости запретив его изменения и придав ему вид обычного текста, убрав границы (как это сделать — смотрите ниже).
Текст, отображаемый в полях отображения и ввода текста при запуске формы, можно задать как заранее — с помощью Окна Свойств, так и программно.
3. Несколько видов списков — средства выбора варианта, вроде выпадающего списка шрифтов в Word (рис. 4.10). Значения элементов списков задаются только в программе — при
Рис. 4.10. Выпадающий список.
4. Флажок (рис. 4.11) — элемент, который независимо от других может находиться в трех состояниях: включенном, выключенном (могут быть определены как пользователем — кликом на флажке, так и программистом) и неактивном (определяется программой).
Рис. 4.11. Флажки.
5. Переключатель (рис. 4.12) — элемент, который также может находиться во включенном, выключенном и неактивном состояниях. В отличие от флажка, переключатели должны быть объединены в группы с помощью элемента № 7 — рамки — и, если один из переключателей в группе включен, то остальные включены быть не могут.
Рис. 4.12. Переключатели.
В Microsoft Word имеются диалоговые окна, содержащие как флажки, так и переключатели. Так, почти все вкладки меню "Сервис — Параметры" состоят из флажков, а меню Вставка-Сноска — из переключателей. Так что оба эти элемента управления вы видели неоднократно.
6. Выключатель (рис. 4.13). Это кнопка, которая может находиться в нажатом или отжатом состоянии. Например, в Word так себя ведут кнопки показа скрытых символов или создания списков.
Рис. 4.13. Выключатели.
7. Рамка. Отображает прямоугольник с заголовком. В основном используется для объединения групп переключателей (см. Рис. 4.12).
8. Командная кнопка. Обычная командная кнопка вроде кнопок "Ok" или "Отмена" в любом диалоговом окне (рис. 4.14).
Рис. 4.14. Командные кнопки.
9. Набор вкладок и 10. Набор страниц. Представляют из себя набор страничек-вкладок вроде вкладок "Общие", "Сохранение", "Печать" и др. в диалоговом окне Word Сервис-Параметры. Отличие между этими двумя элементами состоит в том, что 9-й элемент (Набор вкладок) при переключении на другую страничку совершенно не затрагивает другие элементы формы, даже и находящиеся на нем, и изменения в состоянии других элементов можно задать только программно. 10-й же элемент (Набор страниц) при своем переключении принудительно (т. е. вне зависимости от программы) скрывает элементы на одной своей странице и показывает элементы на другой (рис. 4.15).
Если привести пример, то 9-й элемент может использоваться в программе — базе данных, отображая вкладки с именами сотрудников. На каждого сотрудника имеется стандартная информация в нескольких полях отображения текста, и количество этих полей для всех одинаково. В этом случае разумнее использовать именно 9-й элемент, соответственно изменяя содержимое полей отображения текста при переключении вкладок, чем создавать с помощью 10-го элемента набор страничек с отдельными полями отображения текста на каждой, что приведет к резкому увеличению и усложнению программы.
К сожалению, в настоящее время не сложилась твердая номенклатура этих двух элементов форм Visual Basic for Applications, поэтому в справочной системе, в различной литературе можно