我在使用作为另一个类中的属性创建的类时遇到问题。我有两个类,一个叫做 Vertex,另一个叫做 Edge。Edge 的两个属性 Parent 和 Child 是 Vertex 对象。这是我尝试使用它们的方法。
Option Explicit
Public Sub OrgChart()
Dim Vertices As Collection
Dim Edges As Collection
Dim vParent As Vertex
Dim vChild As Vertex
Dim eEdge As Edge
Dim rEdgeRow As Range
Set rEdgeRow = ActiveSheet.Range("A1:C1")
Do While Len(rEdgeRow(1, 1).Value) > 0
Set vChild = New Vertex
Set vParent = New Vertex
Set eEdge = New Edge
vChild.Name = rEdgeRow(1, 1).Value
vChild.Dummy = False
vParent.Name = rEdgeRow(2, 1).Value
vParent.Dummy = False
eEdge.Parent = vParent
eEdge.Child = vChild
eEdge.Percent = rEdgeRow(3, 1).Value
Set rEdgeRow = rEdgeRow.Offset(1, 0)
Loop
End Sub
当我运行它时,我得到了错误,
“运行时错误'91':对象变量或未设置块变量”
调试器表明它正在中断行
eEdge.Parent = vParent
我认为问题与 eEdge.Parent 未初始化有关,但我尝试使用
Set eEdge.Parent = New Vertex
我遇到了同样的问题。
如果有帮助,我也可以发布类代码,尽管它们相当简单,仅包含 Property Get 和 Property Let 函数。
如果我在发布此内容时做错了什么,我深表歉意;这是我第一次在 SO 上发布任何内容。
谢谢,埃里克