![Antiguo](http://static.forosdelweb.com/fdwtheme/images/statusicon/post_old.gif)
05/01/2012, 05:32
|
![Avatar de acid_burd](http://static.forosdelweb.com/customavatars/avatar339552_2.gif) | | | Fecha de Ingreso: enero-2010
Mensajes: 30
Antigüedad: 15 años Puntos: 0 | |
Respuesta: Rellenar TreeView con subcarpetas y archivos Ya esta funcionando perfectamente. Ahora solo me queda ajustarlo para que no muestre la extension y demas y quedará perfecto. Os paso el código modificado por si alguien tiene o tendrá el mismo problema.
Código:
Private Sub Form_Load()
Dim Fso As FileSystemObject
Dim El_Directorio As Folder
DoEvents
Set Fso = New FileSystemObject
Set El_Directorio = Fso.GetFolder(DirDocumentos)
Call RellenarNodosPlantillas(El_Directorio)
End Sub
Código:
Private Sub RellenarNodosPlantillas(ByVal El_Directorio As Folder)
On Error GoTo errsub
Dim contador As String
'Variable del tipo Folder
Dim SubDirectorio As Folder
contador = "1"
'Recorrer los subdirectorios
For Each SubDirectorio In El_Directorio.SubFolders
'Agregar el Path
Set nodeX = ArbolPlantillas.Nodes.Add(, tvwChild, "A" + contador, SubDirectorio.Name)
Call RellenarSubNodos(SubDirectorio, contador)
'Sigue listando los directorios
RellenarNodosPlantillas SubDirectorio
contador = Str(CInt(contador) + 1)
Next
Exit Sub
'Error
errsub:
'Error de permiso denegado
If Err.Number = 70 Then
Resume Next
ElseIf Err.Number = 91 Then
Screen.MousePointer = vbDefault
Exit Sub
Else
MsgBox Err.Description, vbCritical
Exit Sub
End If
End Sub
Código:
Private Sub RellenarSubNodos(ByVal SubDirectorio As String, contador As String)
Dim nodeX As node
Dim contadorS
Dim El_Archivo As File
Dim El_Directorio As Folder
Dim Fso As FileSystemObject
Dim DirDocumentos As String
'Nuevo objeto felisystemobjetc
Set Fso = New FileSystemObject
'Obtiene el directorio
DirDocumentos = V_DAtendidos + "\" + CStr(Me.T_NHistoria) + "\Documentos"
Set El_Directorio = Fso.GetFolder(SubDirectorio)
contadorS = "1"
'Listar los ficheros de esta carpeta
For Each El_Archivo In El_Directorio.Files
Set nodeX = ArbolPlantillas.Nodes.Add("A" + contador, tvwChild, "B" + contadorS, El_Archivo.Name)
contadorS = Str(CInt(contadorS) + 1)
Next El_Archivo
End Sub
Espero que os sea util. |