VBA - доступ к свойствам объекта через другой объект (набор свойств) - PullRequest
0 голосов
/ 17 февраля 2012

Новое в построении модулей классов в VBA и в борьбе с заполнением одного объекта, который определен в другом объекте.

Например, у меня есть два модуля класса, Class1 и Class2

Class1

Dim mobj As Class2
Public Property Set SetObj(obj As Class2)
     Set mobj = obj
End Property

Class2

Public FirstName As String

Доступ к ним осуществляется из стандартного модуля следующим образом:

Sub test()
Dim X As Class1
Set X = New Class1
Set X.SetObj = New Class2
X.SetObj.FirstName = "Bruce"
End Sub

Это, однако, терпит неудачу в X.SetObj.FirstName = "Bruce", когда я получаю "Недопустимое использование свойства сообщения" Будем очень благодарны любой помощи.

1 Ответ

3 голосов
/ 17 февраля 2012

Вы рядом.Class1:

Private mobj As Class2
Public Property Set Obj(Obj As Class2)
     Set mobj = Obj
End Property

Public Property Get Obj()
     Set Obj = mobj
End Property

Sub (строка X.Obj.FirstName вызывает свойство Get, а не свойство Set):

Sub test()
  Dim X As Class1
  Set X = New Class1
  Set X.Obj = New Class2
  X.Obj.FirstName = "Bruce"
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...