【发布时间】:2012-06-30 08:07:31
【问题描述】:
我创建了一个名为 Class1 的类, 在另一个模块中,我想使用这样的类:
Dim budgeunit As Class1
Sub Creattree()
Dim lvl1p, lvl1m, lvl1dm As Class1
Set lvl1p = New Class1
lvl1p.setName ("pear")
Set lvl1m = New Class1
lvl1m.setName ("Mango")
Set budgeunit = New Class1
budgeunit.addtochildren (lvl1p), budgeunit.addtochildren(lvl1m)
End Sub
但是当我编译它时,它会突出显示budgeunit.addtochildren(lvl1m) 并表示 Byref 参数不匹配。 我已经声明了所有论点,我不知道为什么会这样。 课程代码:
Dim Children() As Class1
Dim Parent() As Class1
Public level As Integer
Public name As String
Function setName(nm As String)
name = nm
End Function
Function addtochildren(node As Class1)
num = Children.Count
ReDim Children(num + 1) As String
Children(num) = node
node.addParent (Me)
End Function
【问题讨论】:
-
您的变量声明仅将
lvl1dm声明为 Class1:其他变量将是变体。您不能使用逗号作为语句分隔符。您的类方法应该是 subs,因为它们不返回任何值。然后从 addtochildren 调用中删除括号。您的 Class1 代码中“addParent”的定义在哪里? -
哦,谢谢你告诉我,我还没有进入VBA模式...忘记了comment不像JAVA中的command。