VBA для тех кто любит думать


VBA и Office XP - часть 108


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

Диалог с пользователем

*       *       *

Продолжим изучение программирования на Visual Basic for Applications. Подробные описания теперь уже не нужны - достаточно лишь заострения внимания на некоторых "подводных камнях" или скрытых возможностях.

В этой главе речь пойдет о так называемых "пользовательских формах" - формально они являются "нестандартными диалоговыми окнами" программ, наподобие диалоговых окон Word, но по сути с их помощью можно создавать настоящие программы, подобные компилируемым программам для Windows, которые будут отличаться от них лишь тем, что для их работы необходим Microsoft Word. К сожалению, их нельзя создавать с помощью средства записи макросов, но зато все средства создания форм снабжены подробной справкой.

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

Для создания формы в Редакторе VBA необходимо из контекстного меню правой кнопки мыши в Менеджере проектов выбрать "Вставить - UserForm" (рис. 6.1).

 

06_01.bmp

Рис. 6.1. Окно дизайна форм.

 

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

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

Основное отличие программного кода, обслуживающего формы, от кода в обычных модулях заключается в принципе программирования. В то время как программа на Visual Basic for Applications вроде той, что была нами совместно написана в предыдущей главе книги, выполняется "последовательно", - то есть все ее команды выполняются одна за другой, и их порядок выполнения изменяется только в зависимости от операторов условного и безусловного перехода "If" и "Goto" (в принципе - в частности могут быть отклонения от данного правила), форма "реагирует на события" - то есть каждому элементу формы может быть поставлена в соответствие определенная отдельная программа, выполняющая нужные команды при совершении с этим элементом каких-либо действий.


Начало  Назад  Вперед