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