Класс Label — создание надписи vba

Класс Label — создание надписи vba Макросы на VBA

В этой статье мы познакомимся с таким элементом управления vba как Label – надпись. Как и UserForm, Label является классом, с наборами свойств, методов и событий, нужно понимать, что большая их часть актуальна для всех элементов, а не только для одного.

В этой статье я рассмотрю лишь некоторые свойства, которые актуальны для объекта vba Label, а потом приведу простой пример кода.

И так, после того, как мы добавили в проект форму, рядом с ней должно появиться окно ToolBox, если его нет, то просто в меню View выберите пункт ToolBox. Хорошо, на панели несколько компонентов, но нам пока нужен только компонент Label.

Задача: добавить на форму надпись, в которой будет отображаться текущее время и дата, надпись должна быть большой и с заданным цветом.

:)

AutoSize – определяет, будет ли размер элемента управления Label vba подстраиваться под введенный в нем текст (Caption), или будет фиксированным (Height и Width).  Значение true – автоматический размер, а false – фиксированный.

Height и Width – высота и ширина области

Name и Caption – имя класса Label (как правило, Label1, Label2, …. , LabelN) и текст надписи. Текст можно вводить сразу на поле Label.

Multiline – тут можно задать, будет ли надпись многострочной (значение true) или однострочной (значение false).

Visible – позволяет скрыть (false) или отобразить компонент (true)

WordWrap – позволяет разрешить (true) или запретить (false) перенос текста на новую строку, если он не умещается в пределы области Label vba.

FontSize – определяет размер текста, как не странно, но в окне Свойств его нет.

ForeColor – цвет текста.

Хорошо, теперь давайте приступим к практике.

Компоненты UserForm и Label языка vba

Как я уже сказал: запустите редактор Visual Basic (комбинация Alt+F11) и добавьте новый модуль в проект (меню Insert, пункт Module). Хорошо, теперь добавьте новую форму (меню Insert, пункт UserForm). В редакторе кода для модуля пропишите:

Sub Module1()
UserForm1.Show
End Sub

Тут Module1 – имя модуля, у вас оно может быть другим, UserForm1 – имя объекта, у вас оно тоже может отличаться.

Теперь перетащите элемент Label на область класса UserForm.

Вот какие значения я установил для класса UserForm:

  • Caption – Первая программа
  • Height – 179.25
  • Width – 215.25

Саму надпись я растянул по всей поверхности формы, оставив небольшой отступ снизу, цвет установил в синий.

Хорошо, теперь нам нужно написать процедуры для класса UserForm и Label vba языка, но прежде нужно открыть редактор кода для самой формы. Тут есть два пути:

  • Дважды щелкнуть по рабочей области
  • Выбрать объект в окне Проектов и нажать на кнопку ViewCode
Код для класса Label языка vba

Хорошо, в редакторе кода пропишите такие три процедуры:

Private Sub UserForm_Activate()
Dim info As String
info = "Дата:" & vbCrLf
Label1.Caption = info & Format(Now, "dddddd hh ч. mm мин.")
Label1.FontSize = 25
End Sub
 
Private Sub UserForm_Click()
Label1.Visible = False
End Sub
 
Private Sub UserForm_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Label1.Visible = True
End Sub

UserForm_Activate – тут мы обрабатываем событие Activate класса UserForm, событие возникает, как только объект загружается в память. В процедуре мы объявили переменную info типа String, и потом присвоили ей строку «Дата:», vbCrLf – это перевод строки, а & — объединение.

  • Label1.Caption – тут мы свойству Caption присвоили значение переменной info и текущую дату и время.
  • Label1.FontSize – тут мы определили размер шрифта в 25

UserForm_Click – обработка щелчка по области, свойству Visible объекта Label1 присваивается значение false, то есть, при одинарном щелчке надпись станет невидимой.

UserForm_DblClick – тут при двойном щелчке надпись снова станет видимой.

Не волнуйтесь, если что-то непонятно, по ходу, я буду выкладывать материалы и по синтаксису языка VBA, хотя…. Есть одна хитрость, синтаксис языка VBA практически идентичен языку VBScript.

Оцените статью
Технологии программирования и ведение блога
Добавить комментарий