Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1888.DOC
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
5.52 Mб
Скачать

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

Процедуры, обрабатывающие события, связанные с диалоговыми окнами и элементами управления, – это частный случай процедур, обрабатывающих события объектов Excel. С диалоговым окном (формой) и с элементом управления каждого типа связан заранее определенный набор событий, возникающих для этого объекта по инициативе пользователя или программы. Например, одно из связанных с формой событий Initialize (Инициализация) возникает при загрузке формы, а связанное с командной кнопкой (Command Button) событие Click (Щелчок) возникает, когда пользователь щелкает по этой кнопке (или нажимает клавишу Enter, если эта кнопка определена как нажимаемая по умолчанию). Процедуры обработки событий позволяют описать поведение диалогового окна или отдельного элемента управления при наступлении того или иного события.

Чтобы перейти в окно редактора для ввода текста процедуры обработки события, нужно дважды щелкнуть кнопкой мыши по объекту, к которому оно относится (элемент управления или свободную от элементов часть формы). Появится окно Code (Код). В раскрывающемся списке слева вверху перечислены все объекты формы, при выборе объекта в этом списке справа вверху появляются события, связанные с данным объектом. На рис. 6.18 показан список событий для командной кнопки.

События, для обработки которых процедуры уже написаны, выделены полужирным начертанием. Чтобы создать новую процедуру или отредактировать имеющуюся, нужно выбрать щелчком мыши в списке соответствующее событие. На экране появится шаблон новой процедуры или текст написанной. Имя такой процедуры состоит из имени устройства или формы, за которым после подчеркивания идет имя события. Так, процедура, обрабатывающая событие Click для командной кнопки CommandButton1, называется CommandButton1_Click. Из-за такого способа именования процедур надо быть осторожным при переименовании элементов управления. Если Вы сначала определили для элемента процедуры обработки события, а затем переименовали его (изменив свойство Name), никаких процедур обработки события у элемента с новым именем не будет (их придется перенести с помощью редактора).

Рис. 6.18. События элемента CommandButton

Процедура обработки события Click для командной кнопки cmdClickMe диалогового окна Цветная форма следующая:

Private Sub cmdClickMe_Click()

MsgBox "Поздравляю"

ColorForm1.TextBox1.Value = "Цветок"

End Sub

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

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

6.2.8. Вызов собственного диалогового окна

Диалоговое окно нуждается в отладке. В интегрированной среде VBA можно видеть его изображение, но управляющие элементы находятся в «замороженном» состоянии, и их реакция на действия пользователя – это реакция среды, а не самих элементов. Диалоговое окно запускается на исполнение командой запуска процедуры или формы Run Run SubUserForm интегрированной среды VBA или нажатием клавиши F5. Ваше диалоговое окно появится в рабочем состоянии на основной панели Excel.

Вызывается диалоговое окно в прикладной программе методом Show (Показать). Он позволяет выводить окно на экран в качестве реакции на выбор соответствующей команды меню или командной кнопки в другом окне и т. п. Например, диалоговое окно MyForm выводится так: MyForm.Show.