Analizar carpetas y escojer solo archivos .txt

Iniciado por VanX, 15 Julio 2011, 12:59 PM

0 Miembros y 3 Visitantes están viendo este tema.

VanX

Hola a todos de nuevo, hoy tengo una duda existencial  ;D y es que nose si se puede buscar una carpeta con el Common Controls y desde el propio vb6 solo detectar los .txt y organizar sus rutas en un list.

Alguien me puede decir si es posible y si lo es, por donde debería empezar?  ;)

gracias

n0more

WolaP

"Metodologicamente" hablando (xDDD), tienes 2 opciones.

- Mostrar solo los .txt
- Recorrer el directorio y guardar los .txt, puesto que la ruta ya la tienes.

VanX

Perfecto ya lo encontre en google tambien pero hay una cosa que no, y es despues de tener los archivos que ya los tengo, no me acuerdo de como hacer para abriendolos 1 por uno cuando estan en el list XDD  ;D

gracias de todos modos ;)

n0more

WolaP.


Tienes que recorrer el list e ir abriendolos uno por uno.


Tengo un código que te vendría bien, dame 5 mins a ver si lo encuentro.


n0more

El codigo para recorrer el list:


For i = 0 To File1.ListCount - 1
MsgBox File1.List(i)
Next



En lugar del "Msgbox", pon el codigo que quieras.

VanX

Ok perfecto me has salvado de una que no me acordaba gracias  ;-) ;-)


VanX

Este es el code que tenia

Código (vb) [Seleccionar]
'---------------------------------------------------
    'Agregar lña referencia a Microsoft Scripting Runtime
'---------------------------------------------------


Private Sub Command1_Click()
On Error GoTo errsub

    Dim Fso As FileSystemObject
    Dim El_Directorio As Folder

    Screen.MousePointer = vbHourglass
   
    DoEvents
    List1.Clear

   
    Set Fso = New FileSystemObject
    Set El_Directorio = Fso.GetFolder(Trim$(Text1))

    List1.AddItem Trim$(Text1)
   
   ' Comienza a listar las carpetas
    Call Listar_Directorios(El_Directorio)

    Screen.MousePointer = vbDefault
   
'Error
Exit Sub

errsub:
    MsgBox Err.Description, vbCritical
    Screen.MousePointer = vbDefault

End Sub


Private Sub Listar_Directorios(ByVal El_Directorio As Folder)

    On Error GoTo errsub

    ' Variable de tipo Folder
    Dim Subdirectorio As Folder

    ' Recorre los subdirectorios
    For Each Subdirectorio In El_Directorio.SubFolders
        'Agrega el path
        List1.AddItem El_Directorio.Path & "\" & Subdirectorio.Name
           
        'sigue listando los directorios
        Listar_Directorios Subdirectorio
   
    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

Private Sub Form_Load()
    Command1.Caption = " Listar "
    Text1 = "c:\a"
End Sub

Private Sub List1_Click()

    'Variable de tipo FILE y FOLDER para listar los archivos de un path
    Dim El_Archivo As File
    Dim El_Directorio As Folder

    'Si no hay items en el List sale
    If List1.ListIndex = -1 Then Exit Sub
   
    List2.Clear
   
    'Nuevo objeto FileSystemObject
    Set Fso = New FileSystemObject
   
    ' Obtiene el directorio
    Set El_Directorio = Fso.GetFolder(List1.List(List1.ListIndex))
   
   
    ' Lista los ficheros de esta carpeta
    For Each El_Archivo In El_Directorio.Files
       'Añade la ruta
       List2.AddItem El_Archivo.Name
       
    Next El_Archivo

End Sub