Форма - это экземпляр класса.
Как в любом экземпляре класса, в форме могут быть локальные и глобальные переменные, пользовательские функции, процедуры (методы) и свойства. Форма может генерировать и пользовательские события.
Использование глобальных переменных в модуле класса не рекомендуется потому что модуль класса не имеет возможности контролировать, что могут сделать с глобальной переменной извне.
Обычно используются локальные переменные, а доступ к ним осуществляется с помощью Property Get, Let, Set.
При этом возможен контроль ошибок, типов и допустимых диапазонов переменных.
Пример кода формы UserForm1:
Код |
---|
' Код в форме
Public x
Dim y
Public Function MyFunction(v)
MyFunction = v + x
End Function
Private Sub UserForm_Activate()
x = 123
y = 100
End Sub
Public Property Get GetY()
GetY = y
End Property
Public Property Let LetY(v)
y = v
End Property |
Пример тестовой процедуры в Module1:
Код |
---|
' Код в стандартном модуле
Sub Test()
UserForm1.Show 0
DoEvents
MsgBox UserForm1.x, , "Считываем x" ' <-- Так не рекомендуется
MsgBox UserForm1.MyFunction(-100), , "Используем MyFunction"
UserForm1.LetY = "Hi!"
MsgBox UserForm1.GetY, , "Используем Let,Get" ' <-- Let, Get корректнее
End Sub |