Перейти к содержимому

VBA Excel. Элемент управления Frame (рамка)

Элемент управления пользовательской формы Frame, применяемый в VBA Excel для создания группы элементов управления. Свойства рамки, пример использования.

  1. Элемент управления Frame
  2. Свойства элемента Frame
  3. Примеры кода VBA с рамкой

Элемент управления Frame

UserForm.Frame – это элемент управления пользовательской формы, предназначенный для создания отдельных групп элементов управления, объединенных между собой визуально и функционально.

Элемент управления 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:

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
Поведение двух групп переключателей в рамках на пользовательской форме:

'Присвоение исходных значений
'свойствам элементов управления
'перед отображением формы
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

Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора. При добавлении в комментарий кода VBA Excel, вставьте перед его началом тег [vb] и по окончании кода - [/vb].