Como mostrar SOLO las carpetas en Visual Basic 6.0

Estoy haciendo una aplicación en Access con VBA y tengo una pequeña duda. Quiero mostrar todas las carpetas de un directorio almacenado en una cadena de texto. La cosa es que solo quiero las carpetas, no los demás ficheros. He probado dos cosas:
archivo = Dir(cadena)
archivo = Dir(cadena, vbDirectory)
Con la primera, me coge solamente los ficheros, no saca ninguna carpeta. Con la segunda me coge las carpetas y también los demás ficheros. Como luego las voy recorriendo uno a uno los elementos devueltos en "archivo", se me ha ocurrido que igual hay alguna función o algo que me permita saber si "d:\carpeta1\cosa.txt" es un fichero o que "d:\carpeta1\carpeta2" es una carpeta.
¿Alguna ayuda?

2 respuestas

Respuesta
1
Puedes usar VBScript para eso
Agrega lo siguiente en tu código
(donde van las variables...)
Dim ofjFSO As Object
Dim objFolder As Object
Dim colFolders As Object
(En alguna parte del código, pero donde no se este repitiendo la siguiente linea, de lo contrario, se crearían muchos objetos...)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder("rutacompletadelacarpetacontenedora")
Set colFolders = objFolder.SubFolders
(en cualquier parte del codigo...)
For Each objfile in colFolders
Msgbox objfile
Next
Con las 3 lineas anteriores se te va a ir mostrando cada carpeta, dentro de la carpeta contenedora
...
Respuesta
1
Si, al recorrer la lista que te devueleve DIR, sabes si es un archivo o un directorio, es una propiedad del objeto que devuelve, pero no sabría decirte cual, hace mucho no manejo vb6

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas