RE:como saber si un archivo es carpeta o fichero
Realmente desde los buenos tiempos de MS-DOS un directorio (o carpeta) podía tener extensión (y, obviamente, un punto para separarla del nombre), aunque pocos la usaban.
Podrías usar la función Dir de VB, tratando de buscar un directorio con el nombre de archivo, si no lo encuentra retorna una cadena vacía y significa que es un archivo.
Supongamos que el nombre lo tienes en la variable "stArchivo", lo usarías de esta forma:
if Dir( stArchivo, vbDirectory) <> Space( 0 ) then
' Está tratando de localizar un DIRECTORIO que se llame
' según el contenido de la variable. Si lo encuentra te
' Retornará el nombre obtenido (desde luego será el mismo
' que guarda la variable.
MsgBox "Es una carpeta"
Else
' Si retorna una cadena vacía ( Space(0) ) significa que
' NO localizó una carpeta con ese nombre, entonces
' debe ser un archivo.
MsgBox "Es un archivo"
Endif