1

目前我正在使用 excel 2003 在 excel 仪表板上进行一个项目

我创建了这个自定义类并拥有这些类的集合。

Dim classCollection as Collection

自定义类的骨架结构说CustomClass1如图所示

Dim objName as string
Dim subClass as Collection

Public Sub CreateSubClass()

Dim cClass as CustomClass1

'manipulation and stuff goes here

subClass.Add cClass

end Sub

正如你所看到的,还有一个它自己的类的子集合,因为我想用更多的属性和类模块的东西做进一步的分解

以前我可以将集合显示到单元格中,而没有任何带有滚动条的子集合,滚动条也控制集合的索引,如下所示(对于粗略的绘图,这是我能描绘的最好的,因为我无法发布图片)

   ^ obj20
   l obj21
   l obj22
   l obj23
   v obj24

滚动条更改编码如下

Private Sub ScrollBar1_Change()
Application.ScreenUpdating = False
Dim classObject As CustomClass1
If classCollection.Count = 0 Then
    Call initialise_dataset
End If
    ScrollBar1.Min = 0
    ScrollBar1.Max = classCollection.Count - 7
    If ScrollBar1.Value < (classCollection.Count - 7) Then
    For i = 0 To 6
    Set classObject = classCollection(i + ScrollBar1.Value + 1)
        Cells(5 + i, 2).Value = classObject.objName

Next i
End If

If ScrollBar1.Value > 0 Then
If classCollection.Count = 0 Then
    Call initialise_dataset
End If
For i = 0 To 6
Set classObject = classCollection(i + ScrollBar1.Value + 1)
    Cells(5 + i, 2).Value = classObject.objName

Next i
End If
Debug.Print ScrollBar1.Value
Application.ScreenUpdating = True
End Sub

所以现在我想添加树视图来显示子类。但是滚动条值会受到树视图函数的影响,这也不允许我获取集合的实际索引。那么我可以采取任何解决方法来使树视图与滚动条一起工作。

一个粗略的想法是这样的

^ -obj20
l   obj20_1 
l   obj20_2
l +obj21
v +obj22

提前致谢!

PS 至于 + 和 - 符号,我可以使用后续超链接来标记类对象。所以不会有任何问题。

4

0 回答 0