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: 512 |
![]() ![]() ![]() ![]() ![]() 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: 12211 |
![]() ![]() ![]() ![]() ![]() |
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: 512 |
![]() ![]() ![]() ![]() ![]() |
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: 12211 |
![]() ![]() ![]() ![]() ![]() |
... 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: 512 |
![]() ![]() ![]() ![]() ![]() |
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: en línea Puntos: 13516 |
![]() ![]() ![]() ![]() ![]() |
¿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 ![]() Administrador ![]() ![]() Unido: 29/Marzo/2005 Localización: Alcalá Meco Estado: Sin conexión Puntos: 3614 |
![]() ![]() ![]() ![]() ![]() |
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 el mejor, empezando por el final
|
|
![]() |
|
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: 512 |
![]() ![]() ![]() ![]() ![]() |
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 |