Элементы управления на рабочем листе

Выше было указано, что элементы управления можно размещать в пользовательских формах и непосредственно на рабочем листе, создавая тем самым дружественный пользователю интерфейс. Панель инструментов Элементы управления отображается на рабочем листе Excel командой Вид | Панели инструментов | Элементы управления (рис. 36):

Элементы управления на рабочем листе - student2.ru

Рис. 32. Элементы управления на рабочем листе

Кроме панели инструментов Элементы управления в Excel имеется похожая на неё панель Формы, набор кнопок которой практически такой же, как на панели Элементы управления (рис. 37).

Элементы управления на рабочем листе - student2.ru

Рис. 33. Панель Формы

Удобство этой панели состоит в том, что многие её кнопки можно связать с макросами (процедурами) VBA. Кроме того, после размещения элемента управления панели Формы на рабочем листе на этом элементе выводится на русском языке её название, отражающее её назначение: Кнопка, Метка и т.д. Для размещения элемента управления на рабочем столе нужно нажать на соответствующую кнопку панели инструментов Элементы управления или Формы и с появившимся крестообразным курсором начертить элемент управления на рабочем листе (рис. 38 а,б).

Элементы управления на рабочем листе - student2.ru

Рис. 34 а. Примеры элементов управления панели Формы

Элементы управления на рабочем листе - student2.ru

Рис. 34 б. Примеры элементов управления
панели Элементы управления

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

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

Как было показано выше, элементы управления являются объектами, и как любые другие объекты обладают свойствами, методами и событиями. Значения свойств элементов управления устанавливаются как в коде, так и так и на этапе их конструирования. Для установки значений свойств на этапе конструирования нужно выбрать элемент управления и нажать кнопку Свойства Элементы управления на рабочем листе - student2.ru панели инструментов Элементы управления. На экране отобразится окно Properties (рис. 39).

Элементы управления на рабочем листе - student2.ru

Рис. 35. Окно Properties

Код процедуры, обрабатывающий события, связанные с элементом управления, расположенном на рабочем листе (Лист1, Лист2 и т.д.), набирается в модуле этого рабочего листа (Лист1(Лист1), Лист2 (Лист2), и т.д.), на котором расположен элемент управления. Для входа в этот модуль нужно выбрать элемент управления и нажать кнопку Исходный текст Элементы управления на рабочем листе - student2.ru панели инструментов Элементы управления.

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

В качестве примера рассмотрим проектирование на рабочем листе элемента управления Кнопка. Последовательность действий следующая.

1. Нажать кнопку Режим конструктора Элементы управления на рабочем листе - student2.ru панели инструментов Элементы управления.

2. Нажать кнопку Элементы управления на рабочем листе - student2.ru панели инструментов Элементы управления и нарисовать на рабочем листе кнопку Элементы управления на рабочем листе - student2.ru , на поверхности которой появится надпись CommandButton1. При создании второго элемента управления Кнопка на её поверхности появится надпись CommandButton2 и т.д.

3. Щёлкнуть по созданной кнопке правой кнопкой мыши и в появившемся диалоговом окне выбрать пункт Элементы управления на рабочем листе - student2.ru Свойства панели инструментов Элементы управления. На экране появится окно Properties. Установить в этом окне значение свойства Name равным КнПривет, а свойства Caption равным ПРИВЕТСТВИЕ.

4. Выбрать созданную кнопку и щёлкнуть по кнопке Исходный текст Элементы управления на рабочем листе - student2.ru панели инструментов Элементы управления. В результате произойдёт переход в редактор VBA и автоматически создана первая и последняя инструкция обработки события Click кнопки, возникающего при её нажатии (щелчке):

Private Sub CmdПривет_Click()

End Sub

5. Добавить в процедуру обработки события Click функцию MsgBox, которая отобразит на экране диалоговое окно с приветствием (рис.40):

Private Sub CmdПривет_Click()

MsgBox "Желаем вам успехов" & Chr(13) + Chr(10) & _

"в изучении VBA!", vbExclamation

End Sub

Элементы управления на рабочем листе - student2.ru

Рис.36. Результат выполнения процедуры CmdПривет_Click

В этой процедуре выражение Chr(13) + Chr(10) вызывает возврат каретки и перевод строки. Вместо него можно использовать смешанную константу vbCrLf.

Такой же самый результат можно получить, используя элемент Кнопка панели элементов Формы (рис.37). В этом случае последовательность действий следующая.

1. Выполнить команду Вид | Панели инструментов | Формы.

2. Нажать кнопку Элементы управления на рабочем листе - student2.ru панели инструментов Формы и нарисовать на рабочем листе кнопку, на поверхности которой появится надпись Кнопка1. При создании второго элемента управления Кнопка на её поверхности появится надпись Кнопка2 и т.д.

3. Щёлкнуть по созданной кнопке правой кнопкой мыши и в появившемся диалоговом окне выбрать пункт Изменить текст и ввести слово ПРИВЕТСТВИЕ, щёлкнуть правой кнопкой мыши и появившемся диалоговом окне выбрать пункт Завершить изменение текста.

4. Щёлкнуть мышью по любой ячейке рабочего листа вне области кнопки.

5. Вставить в стандартный модуль Module1 следующую процедуру:

Sub ПРИВЕТ ()

MsgBox "Желаем вам успехов" & Chr(13) + Chr(10) & _

"в изучении VBA!", vbExclamation

End Sub

6. Щёлкнуть правой кнопкой мыши по элементу Кнопка ПРИВЕТ на рабочем листе и в появившемся меню выбрать пункт Назначить макрос…

7. В диалоговом окне “Назначить макрос объекту” выбрать макрос ПРИВЕТ.

Если щёлкнуть теперь по кнопке ПРИВЕТ, то на экран будет выведено диалоговое окно с текстом "Желаем вам успехов в изучении VBA!".

[1] При разработке примера использованы материалы из кн.:Гарнаев А.Ю. MS Excel 2002: разработка приложений. – СПб.: БХВ-Петербург, 2003., стр.391–392.

Наши рекомендации