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

だから今、ツリービューに追加してサブクラスも表示したいと思います。しかし、スクロールバーの値は treeview 関数の影響を受け、コレクションの実際のインデックスを取得することもできません。ツリービューをスクロールバーと一緒に機能させるためにできる回避策はありますか。

ざっくりとした考え方はこんな感じ

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

前もって感謝します!

PS + および - 記号については、フォロースルー ハイパーリンクを使用してクラス オブジェクトにタグを付けることができます。したがって、それについては問題はありません。

4

0 に答える 0