У меня есть модуль класса с именем Normal
в VBA со следующим кодом:
Private mLine As LineElement
Public Property Get Line() As LineElement
Line = mLine
End Property
Public Property Set Line(ByRef vLine As LineElement)
mLine = vLine
End Property
Этот класс используется следующим кодом:
Sub Run
Dim Line As LineElement
Set Line = New LineElement
Dim Norm As Normal
Set Norm = New Normal
Set Norm.Line = Line 'FAILS here with "Object Variable or With Block Variable not set"'
End Sub
Кроме того, если я изменю код в модуле класса Normal
на:
Private mLine As LineElement
Public Property Get Line() As LineElement
Line = mLine
End Property
Public Sub SetLine(ByRef vLine As LineElement) 'changed from property to sub'
mLine = vLine
End Property
и ошибочная строка
Norm.SetLine( Line )
Я получаю сообщение об ошибке «Объект не поддерживает это свойство или метод». Что именно я делаю не так в обоих случаях?