Элемент управления пользовательской формы Frame, применяемый в VBA Excel для создания группы элементов управления. Свойства рамки, пример использования.
Элемент управления Frame
Элемент управления Frame в VBA Excel состоит из надписи и видимых или скрытых границ, определяющих его размер.
Визуально элементы управления на пользовательской форме можно разделить на группы с помощью отступов. Но рамка, если она не скрыта (Visible=True, BorderStyle=1), позволяет выделить каждую группу с помощью видимых границ.
Классический пример функционального объединения элементов управления – это группы переключателей (OptionButton). Наборы переключателей в каждой отдельной рамке (Frame) ведут себя как независимые от других переключателей функциональные группы. В каждой такой группе один переключатель всегда может быть включен (Value=True).
Элемент управления Frame может быть скрыт полностью (Visible=False) или частично (Visible=True, BorderStyle=0), когда скрыты только границы, а надпись остается видимой.
Свойства элемента Frame
Свойство | Описание |
---|---|
BorderStyle | Отображение границ элемента управления. 0 (fmBorderStyleNone) – границы скрыты, 1 (fmBorderStyleSingle) – границы отображены. |
Caption | Текст надписи элемента управления Frame. |
ControlTipText | Текст всплывающей подсказки при наведении курсора на рамку. |
Enabled | Возможность взаимодействия пользователя с элементом управления. True – взаимодействие включено, False – отключено (цвет Frame становится серым). |
Font | Шрифт, начертание и размер текста надписи. |
Height | Высота элемента управления. |
Left | Расстояние от левого края внутренней границы пользовательской формы до левого края элемента управления. |
Picture | Добавление изображения в поле рамки. |
PictureAlignment | Выравнивание изображения в поле элемента Frame. |
PictureSizeMode | Управление размером изображения в рамке. |
TabIndex | Определяет позицию элемента управления в очереди на получение фокуса при табуляции, вызываемой нажатием клавиш «Tab», «Enter». Отсчет начинается с 0. |
Top | Расстояние от верхнего края внутренней границы пользовательской формы до верхнего края элемента управления. |
Visible | Видимость элемента Frame. True – элемент отображается на пользовательской форме, False – скрыт. |
Width | Ширина элемента управления. |
В таблице перечислены только основные, часто используемые свойства переключателя. Все доступные свойства отображены в окне Properties элемента управления Frame.
Примеры кода VBA с рамкой
Пример 1
Присвоение значений свойств элементу управления Frame в коде VBA Excel:
1 2 3 4 5 6 7 8 9 10 11 |
Private Sub UserForm_Initialize() Me.Caption = "Пример 1" With Frame1 .Caption = "Рамка 1" .BackColor = vbWhite .BorderStyle = 1 .BorderColor = vbBlue .Font.Size = 12 .Font.Italic = True End With End Sub |
Пример 2
Поведение двух групп переключателей в рамках на пользовательской форме:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
'Присвоение исходных значений 'свойствам элементов управления 'перед отображением формы Private Sub UserForm_Initialize() Me.Caption = "Пример 2" With OptionButton1 .Value = False .Caption = "Белый" End With With OptionButton2 .Caption = "Зеленый" .Value = False End With With OptionButton3 .Value = False .Caption = "Желтый" End With With OptionButton4 .Caption = "Синий" .Value = False End With With Frame1 .BorderStyle = 1 .Caption = "Рамка 1" End With With Frame2 .BorderStyle = 1 .Caption = "Рамка 2" End With End Sub 'Смена цвета рамки при 'клике на OptionButton1 Private Sub OptionButton1_Click() With Frame1 .BackColor = vbWhite .Caption = "Рамка 1 белая" End With End Sub 'Смена цвета рамки при 'клике на OptionButton2 Private Sub OptionButton2_Click() With Frame1 .BackColor = vbGreen .Caption = "Рамка 1 зеленая" End With End Sub 'Смена цвета рамки при 'клике на OptionButton3 Private Sub OptionButton3_Click() With Frame2 .BackColor = vbYellow .Caption = "Рамка 2 желтая" End With End Sub 'Смена цвета рамки при 'клике на OptionButton4 Private Sub OptionButton4_Click() With Frame2 .BackColor = vbBlue .Caption = "Рамка 2 синяя" End With End Sub |