Я новичок в vba, и я хочу заполнить огромный "Microsoft TreeView Control, версия 6.0" 15000 различных папок в Excel в этом формате:
/folderOne
/folderOne/subfolderOne
/folderOne/subfolderTwo
/folderTwo/subfolderOne
Я использовал решение Прадипа Кумара , но оно дает сбой в Excel, если я пытаюсь сделать это с слишком большим количеством строк (хорошо с 1000 строками, но не с 2000 строками), как показано ниже:
Sub Button1_Click()
LoadTreeView1 TreeView1, 1, 1000
End Sub
Private Sub LoadTreeView1(TV As TreeView, min As Integer, max As Integer)
Dim i As Integer, RootNode As Node
TV.Nodes.Clear
Set RootNode = TV.Nodes.Add(, , "ROOT", "ROOT")
RootNode.Expanded = True
For i = min To max
AddNode TV, RootNode, Cells(i, 1)
Next
End Sub
Private Sub AddNode(TV As TreeView, RootNode As Node, Path As String)
Dim ParentNode As Node, NodeKey As String
Dim PathNodes() As String
On Error GoTo ErrH
PathNodes = Split(Path, "/")
NodeKey = RootNode.Key
For i = 1 To UBound(PathNodes)
Set ParentNode = TV.Nodes(NodeKey)
NodeKey = NodeKey & "/" & PathNodes(i)
TV.Nodes.Add ParentNode, tvwChild, NodeKey, PathNodes(i)
ParentNode.Expanded = True
Next
Exit Sub
ErrH:
If Err.Number = 35601 Then
Set ParentNode = RootNode
Resume
End If
Resume Next
End Sub
Мое древовидное представление выглядит хорошо в Excel, аналогично приведенному ниже, но моя проблема в том, что я не могу поместить в него достаточно данных.
Я экспортировал свой список в доступ, но процесс другой, и я немного растерялся, потому что, как я уже сказал, я новичок в vba.
Спасибо за вашу помощь