Treeview

  • Автор темы Sergei100
  • Дата начала
S

Sergei100

Гость
#1
Описание:
Есть функция загрузки дерева TreeView1 - ЗагрДерева(L As Integer (база-листXL), D As String (окно TreeView в Д.О.)), в которой:
1) Cоздаётся двумерный массив Array2(i, j) элементов дерева из базы (пока что XL), столбцов-Njd, строчек-Ni. (данные XL и массива построены также деревом)
2) Создаем одномерный массив дерева со значениями Array3(1 To Ni), одномерный массив дерева с именем Array4(1 To Ni):
Dim Array3() As String
ReDim Array3(1 To Ni)
Dim Array4() As String
ReDim Array4(1 To Ni)
For i = 1 To Ni
For j = 1 To Njd
If Array2(i, j) <> "" Then
Array3(i) = Array1(i, j)
If Array2(i, j) = -1 Then
Array4(i) = "" 'Поправка для заголовка
End If
If Array2(i, j) > -1 Then
Array4(i) = Array2(i, j) 'Создание одномерного массива дерева с именем
End If
End If
Next j
Next i
3) Далее - загрузка TreeView1 из массивов (Array3(i)-значение, Array4(i)-номер).:
For i = 1 To Ni
If Array4(i) = "" Then
UserForm1.TreeView1.Nodes.Add(, , "R." & (i - 1), Array3(i)).Expanded = False
End If
If Array4(i) <> "" Then
UserForm1.TreeView1.Nodes.Add("R." & Array4(i), tvwChild, "R." & (i - 1), Array3(i)).Expanded = False
End If
Next i
Функция работает отлично... Но для того, чтобы сделать ее УНИВЕРСАЛЬНОЙ для любого окна TreeView (их у меня много) требуется ввести ПЕРЕМЕННУЮ, скажем D, где бы D=("TreeView1", или "TreeView2", "TreeView3", ...).
Я раньше этого не делол, пытаюсь - ошибка. Дак как же её, ... эдакую? Для кого-то этот вопрос не сложный...