Visual Basic - Contar Archivos en un directorio

Life is soft - evento anual de software empresarial
 
Vista:

Contar Archivos en un directorio

Publicado por Alex (1 intervención) el 14/09/2000 00:00:00
Por favor si alguien me puede decir como contar los archivos .doc de un directorio especifico. 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:Contar Archivos en un directorio

Publicado por hare_krishna (10 intervenciones) el 14/09/2000 00:00:00
Puedes probar con el control File y despues usar la propiedad File1.Listcount, logicamente deberas establecer la propiedad Pattern para mostrar unicamente los archivos *.doc.
Good Luck!
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:Contar Archivos en un directorio

Publicado por Pentarou (17 intervenciones) el 14/09/2000 00:00:00
Otra opción de la que dispones, si no quieres tener que incluir en tu proyecto un control FileList, es utilizar la función Dir. Esta función permite extraer todos los nombres de archivos y carpetas a partir de una ruta de acceso dada, y puedes especificar filtros tanto de nombre y extensión de archivo como propiedades de archivo.

Lo mejor es que consultes la ayuda en línea de Vb o los Libros en Pantalla, pero en breve, la función Dir tiene la siguiente sintaxis:

Variable = Dir[(Ruta_Completa[, Atributos_de_archivo])]

La primera vez que llames a la función Dir, te pondrá en Variable (que debe ser de tipo STRING) el nombre del primer archivo o carpeta encontrado en Ruta_Completa, y que tenga los atributos Atributos_de_archivo.

Para sacar el resto de archivos de la carpeta en Ruta_Completa, debes volver a llamar a la función Dir, pero de aquí en adelante sin especificar ni ruta ni atributos, es decir.

Variable=Dir

, y seguirá extrayendo todos los nombres, con los parámetros que hubieras usado en la primera invocación.

Lógicamente, deberás usar un bucle Do... Loop, que terminará cuando la función Dir ya no encuentre más cosas en Ruta_Completa, en cuyo momento devolverá una cadena vacía.

Dicho en código (ejemplo)

Dim Nombre As String, RutaAcceso As String

RutaAcceso = "C:\Mis documentos\*.DOC"
Nombre = Dir(RutaAcceso, 63) ´ el 63 es para que te muestre absolutamente todos los archivos, incluso los ocultos
Debug.Print Nombre
Do
Nombre = Dir
If Nombre = "" Then Exit Do
If Nombre <>"." And Nombre <>".." Then ´ ignora los nombres de directorio [.] y [..], que siempre te saldrán
If (GetAttr(MiRuta & MiNombre) And vbDirectory) = vbDirectory Then ´ esto es para ignorar las subcarpetas
Else
Debug.Print Nombre
End If
End If
Loop

, en fin, probablemente tengas que hacer un par de cambios a este código para adaptarlo a tus necesidades, pero en esencia, éste es el uso de la función Dir, si como te digo no quieres tener que depender de un control de VB.

Por supuesto, si te interesa específicamente CONTAR cuántos *.DOC hay, no tendrías más que sustituir las líneas

Debug.Print Nombre

por ésta otra:

Contador = Contador + 1

(o añadirla a la anterior, si quieres ambas cosas, claro)

Saludossss,
Pentarou
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