VBA Excel Свойство Class2 как объект из Class1 - PullRequest
3 голосов
/ 26 ноября 2011

Я изо всех сил пытаюсь заставить это работать, используя модули VBA Class

Первоклассный модуль tDate

'--- Class1 tDate
Public d as Integer
Public m as Integer
Public y as Integer
'--- some get/let properties for d,m,y

Модуль второго класса - tRate

'--- Class2 tRate
Public pDate1 as New tDate
Public dValue as Double
'--- Now i'm trying to code properties 

Public Property Get FirstDate() As tDate
    FirstDate = pDate1
End Property

Public Property Set FirstDate(vDate As tDate)
    pDate1 = vDate  ' <----  ???
End Property

В простом модуле у меня есть следующая подпрограмма для проверки класса

Sub test()
    Dim myDate As New tDate 
    Dim r1 As New tRate

    myDate.SetDate "20/10/1996"

    r1.FirstDate = myDate ' <-----  "Compile error : Invalid use of property"
End Sub

Как лучше всего связать небольшой объект class1 как свойство большего класса class2?

Спасибо! Николай


Проблема решена с помощью Set:

Public Property Get FirstDate() As tDate
    Set FirstDate = pDate1
End Property

Public Property Set FirstDate(vDate As tDate)
    Set pDate1 = vDate 
End Property

и здесь также:

 Set r1.FirstDate = myDate

1 Ответ

3 голосов
/ 26 ноября 2011

Используйте Set, чтобы назначить объект переменной.

Set r1.FirstDate = myDate
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...