Ver Mensaje Individual
  #11 (permalink)  
Antiguo 07/05/2008, 02:40
hoygan
 
Fecha de Ingreso: mayo-2008
Mensajes: 6
Antigüedad: 16 años, 11 meses
Puntos: 0
Re: Ayuda, desesperado, Backup, ¿Error en CopyFolder?

Cita:
Iniciado por Foxi Ver Mensaje
No sé por qué no te ha funcionado lo de la copia de los archivos, pero si te vale con lo que has encontrado no voy a entrar más en detalle..
Ahora que he probado más en detalle resulta que no me copia nada si no encuenta archivos sueltos en el directorio "origen". En cambio, basta con que haya cualquier archivo suelto para que me copie directorios recursivamente y los archivos sueltos en el directorio destino :S.

¡Mi aplicación está endemoniada!

EDIT: Ya lo solucioné, me fallaba por esto:

Código:
Function F_Copia_Dir(origen As String, destino As String, _
Optional v_bReemplazar As Boolean = True) As Integer
Dim fso As New FileSystemObject
Dim fldrCarpeta As Folder
Dim fldrSubCarpetas
Dim fldrCarpetaTemp
Dim Ficheros
Dim FicherosTemp
Dim P As Integer

F_Copia_Dir = 0

On Error GoTo Error_Copia_Dir

If (Right(origen, 1) <> "\") Then
origen = origen + "\"
End If
If (Right(destino, 1) <> "\") Then
destino = destino + "\"
End If

If (Dir(origen) = "") Then
F_Copia_Dir = -2
Else

' Si no existe el directorio de destino se crea.
        Call F_bComprueba_Crea_Directorio(destino)
        
        Set fldrCarpeta = fso.GetFolder(origen)
        
        ' Se copian cada uno de los subdirectorios del directorio origen.
        Set fldrSubCarpetas = fldrCarpeta.SubFolders
        For Each fldrCarpetaTemp In fldrSubCarpetas
            Call fldrCarpetaTemp.Copy(destino, v_bReemplazar)
        Next
' Se copian cada uno de los ficheros del directorio origen.
            Set Ficheros = fldrCarpeta.Files
            For Each FicherosTemp In Ficheros
                Call FicherosTemp.Copy(destino, v_bReemplazar)
            Next

' Elimino las referencias.
        Set fldrSubCarpetas = Nothing
        Set Ficheros = Nothing
        Set fldrCarpeta = Nothing
        
    End If
    

    Exit Function
    
Error_Copia_Dir:
    F_Copia_Dir = -3
     Call CopiaFichDir(origen, destino, P)
End Function
Quité esa condicion y ya me lo hace.

Última edición por hoygan; 07/05/2008 a las 03:17