Вы не должны так тесно связывать свои классы / модули. Рабочий модуль не должен требовать знания класса Form1
, потому что тогда его нельзя использовать отдельно в другом проекте.
Вместо этого вы, вероятно, захотите передать функции в свой вспомогательный класс аргумент , над которым она выполняет работу, а затем вернет результат (если необходимо).В качестве совершенно бесполезного, тривиального примера:
Public Sub SetLabelText(ByVal lbl As Label, ByVal caption As String)
lbl.Caption = caption
End Sub
И вы бы назвали его из класса формы, например, так:
MyHelpers.SetLabelText(Label1, "New Label Caption")
Таким образом, вы можете использовать функции в вашемвспомогательный класс из любой формы.
Но, насколько ваш актуальный вопрос, нет.В VBA нет понятия «пространства имен».Лучшее, что вы можете сделать, - это оператор With
, но необходимость делать это часто, скорее всего, свидетельствует о недостатке дизайна, как я уже говорил выше.