archivos + carpetas a variable |
Responder |
Autor | |
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Opciones de entrada
Gracias(0)
Enviado: 12/Enero/2021 a las 10:33 |
Hola a todos Tengo el siguiente código que cuenta el nº de archivos y de subcarpetas. 'Cuenta nº de archivos Dim ruta As Stringruta = "u:\expedients\" & Me!EXPED With CreateObject("Scripting.FileSystemObject").getfolder(ruta).Files End With 'Cuenta nº de subcarpetas Dim ruta2 As String ruta2 = "u:\expedients\" & Me!EXPED With CreateObject("Scripting.FileSystemObject").getfolder(ruta2).SubFolderS End With Necesito pasar la suma de los resultados obtenidos a una variable y ahi es donde estoy atascado.
|
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Opciones de entrada
Gracias(0)
|
Yo he hecho algo como esto:
... te adjunto el enlace del manual de VBScript que suelo usar |
|
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Opciones de entrada
Gracias(0)
|
Mihura, muchas gracias por tu respuesta. Me devuelve el número de archivos pero no contabiliza el número de subcarpetas. Necesito la suma para verificar que la carpeta está totalmente vacía. Dim ruta As String, Fs As Object, Folder, NumFiles ruta = "u:\expedients\" & Me!EXPED Set Fs = CreateObject("Scripting.FileSystemObject") Set Folder = Fs.getfolder(ruta) Set NumFiles = Folder.Files Debug.Print NumFiles.Count Me!alies = NumFiles.Count |
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 13990 |
Opciones de entrada
Gracias(0)
|
... es que yo mirado la parte de que me cuente los archivos, no la de las carpetas.
Tendrás que hacer algo similar para las carpetas, un objeto que las contenga y después sacar la cuenta (para eso he puesto la ruta al archivo de ayuda, para que puedas ver los distintos objetos, métodos, propiedades, ...). |
|
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Opciones de entrada
Gracias(0)
|
Muchas gracias Mihura.
Se puede cerrar
|
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
xavi
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Terrassa-BCN Unido: 10/Mayo/2005 Localización: Catalunya |||| Estado: Sin conexión Puntos: 14720 |
Opciones de entrada
Gracias(0)
|
¿Y la solución es....?
Para cerrar el hilo pedimos la solución (si la hay) para que quien venga después buscando información no se encuentre con un callejón sin salida. Un saludo
|
|
lbauluz
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 29/Marzo/2005 Localización: La Gloria Estado: Sin conexión Puntos: 3849 |
Opciones de entrada
Gracias(0)
|
No estoy seguro de si es esto lo que quieres, pero igual te es útil
' Subfunción para llamar contar ficheros y carpetas Sub fCuentaFichCarpCall() ' Variables Dim sDirec As String ' Carpeta inicial sDirec = "d:\temp\" ' Inicializar contadores iNumCarp = 0 iNumFich = 0 ' Llamar a la función con el directorio inicial Call fCuentaFichCarp(sDirec) ' Ventana con la respuesta MsgBox "Número de ficheros en todos los subdirectorios: " & iNumFich & vbCrLf & "Número de subdirectorios: " & iNumCarp, vbInformation, "Foro" End Sub ' Función recursiva que cuenta ficheros y subcarpetas Sub fCuentaFichCarp(sCarpeta As String) ' Variables Dim iNumCarpCount As Integer Dim iFilesCnt As Integer Dim iAddFilesCount As Integer Dim sFileName As String Dim oFile As Object Dim oFolder As Object ' Actualizar el contador de carpetas. iNumCarp = iNumCarp + 1 ' Verificar que la carpeta recibida tiene "\" al final If Right(sCarpeta, 1) <> "\" Then sCarpeta = sCarpeta & "\" End If 'Crear objetos FSO Set oFSO = CreateObject("Scripting.FileSystemObject") Set oFolder = oFSO.GetFolder(sCarpeta) ' Verificar si la carpeta indicada existe o no If oFSO.FolderExists(sCarpeta) Then iFilesCnt = oFolder.Files.Count iNumFich = iNumFich + iFilesCnt End If ' Bucle por todas las subcarpetas For Each oSubFolder In oFolder.SubFolders ' Verificar ficheros en la carpeta iAddFilesCount = oSubFolder.Files.Count ' Verificar subcarpetas en la carpeta iNumCarpCount = oSubFolder.SubFolders.Count ' Recursivo ' Verificar si hay más subcarpetas If iNumCarpCount <> 0 Then Call fCuentaFichCarp(sCarpeta & oSubFolder.Name) Else ' Añadir número de ficheros iNumFich = iNumFich + iAddFilesCount End If Next End Sub |
|
El Búho es un pajarraco
|
|
Eduard.2008
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Colaborador Unido: 05/Diciembre/2008 Localización: Catalunya Estado: Sin conexión Puntos: 529 |
Opciones de entrada
Gracias(0)
|
Buenos días.
Di por buena la solución propuesta por Mihura y que, por falta de tiempo, aún no he podido implementar. Analizaré también lo que ha propuesto Ibauluz, gracias. En cuanto pueda aportaré la solución, si es que logro que me funcione. Muchas gracias a todos.
|
|
Muchas gracias por vuestra ayuda.
www.ofp.cat |
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |