¿Te atreves a demostrar lo que sabes resolviendo alguno de estos
temas abiertos/no resueltos?

Cargar listbox con ...
 
Compartir:
Avisos
Vaciar todo

[Resuelto] Cargar listbox con nombres de carpetas de ruta

SalvadorF
(@salvadorf)
Nuevo miembro Registered

Buenas tardes a todos,

Estoy haciendo un proyecto en VBA con el que quiero hacer un mantenimiento de unos datos que tengo almacenados en una serie de carpetas. Las carpetas contienen los datos de distintas fechas y el nombre de cada una de ellas es AAAAMMDD (año, mes día).

Tengo un listbox en un formulario, en el que quiero cargar las fechas disponibles (no hay carpeta para todos los días), de forma que después pueda elegir una de ellas y hacer lo que necesite (borrar los datos d esa carpeta, usar dichos datos, ...).

Me estoy atascando en la parte de leer los directorios disponibles y cargarlos en dicho listbox. Soy nuevo en VBA y aunque he buscado por ahí, no termino de conseguirlo. Si alguien me pudiera echar una mano, se lo agradecería.

Todas las carpetas de datos con el formato AAAAMMDD cuelgan del directorio d:\DatosHistoricos

Gracias por su atención

Topic starter Respondido : 02/09/2020 9:50 pm
RET
 RET
(@ret)
Miembro Admin

Prueba esto. Igual tienes que adaptar algo el código.

He llamado LB_Fechas al listbox donde se cargan las fechas disponibles. Se cargan en formato AAAA/MM/DD

Sub CargarFechasDisponibles()
Dim objFSO As Object
Dim objFolders As Object
Dim objFolder As Object
Dim FolderCount As Long
Dim strDirectorio As String

strDirectorio = "d:\DatosHistoricos\"

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolders = objFSO.GetFolder(strDirectorio).SubFolders

FolderCount = objFolders.Count

Me.LB_Fechas.Clear

If FolderCount > 0 Then
For Each objFolder In objFolders
Me.LB_Fechas.AddItem Right(objFolder.Name, 2) & "/" & Mid(objFolder.Name, 5, 2) & "/" & Left(objFolder.Name, 4)
Next objFolder
Else
MsgBox "No se han encontrado datos", vbExclamation + vbOKOnly, "Sin datos"
End If

Set objFSO = Nothing
Set objFolders = Nothing
Set objFolder = Nothing

End Sub

Copia el código en el evento Activate del Form

IMF_RET

https://InformaticaMuyFacil.com

 

Respondido : 04/09/2020 10:33 am
SalvadorF
(@salvadorf)
Nuevo miembro Registered

Gracias RET por el código. LO he estado revisando y con alguna pequeña modificación me ha funcionado perfectamente.

Hay una cosa que no entiendo y a ver si me la puedes aclarar.

Por que lo pones en el evento Activate y no en el Initialize?

Por que haces el Me.LB_Fechas.Clear

 

Gracias

Topic starter Respondido : 04/09/2020 9:58 pm