【问题标题】:VBA Excel Property of a Class2 as object from Class1第 2 类的 VBA Excel 属性作为第 1 类的对象
【发布时间】:2011-11-26 14:31:16
【问题描述】:

我正在努力使用 VBA 类模块使事情正常工作

第一类模块是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

将小类 1 对象链接为大类 2 的属性的最佳解决方案是什么?

谢谢!! 尼古拉斯


使用 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

【问题讨论】:

    标签: class vba properties


    【解决方案1】:

    使用Set 将对象分配给变量。

    Set r1.FirstDate = myDate
    

    【讨论】:

    • 感谢塞尔格!你说的对。我将在任何地方使用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跨度>
    猜你喜欢
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    相关资源
    最近更新 更多