Visual Basic - como saber si un archivo es carpeta o fichero

Life is soft - evento anual de software empresarial
 
Vista:

como saber si un archivo es carpeta o fichero

Publicado por Manuel (28 intervenciones) el 18/04/2007 17:14:41
buenas,si alguien me puede ayudar,¿con la libreria Microsofot Scripting runtime hay alguna funcion booleana o de algun tipo q me devuelva si el archivo q cogo es una carpeta?antes estaba programado por si tenia punto en su ultimo nombre,pero windows permite poner punto en los nombres de carpetas.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como saber si un archivo es carpeta o fichero

Publicado por Malandrin (5 intervenciones) el 18/04/2007 23:58:58
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
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como saber si un archivo es carpeta o fichero

Publicado por Manuel (28 intervenciones) el 19/04/2007 17:26:45
Gracias por la ayuda malandrin,pero ayer intentandolo me salio la solucion con un folderexists lo malo es q al àsarle la direccion de un fichero cascaba.

Lo meti en una funcion booleana aparte y si la encontraba perfecto escarpeta=true,si no la encontraba,daba error pero lo controlaba y salia del modulo por el control del error devolviendo en la funcion un false

gracias de todas formas pa a proxima ya tego donde elegir :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar