У меня есть модуль класса с именем 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 )
Я получаю ошибку "Объект не поддерживает это свойство или метод". Что именно я делаю неправильно в обоих случаях?