Copiar ficheros...

Tengo el siguiente código el cual "mueve" los ficheros copiandolos primero y luego eliminándolos, ya que no conozco ninguna función que haga esto... Si lo sabéis... Bueno mi pregunta es otra: Tengo que averiguar si el destino existe, porque si no existe debo de crearlo, y eso es lo que me funciona en parte. Si el destino no existe me lo crea perfectamente, y copia los ficheros, pero si el destino existe, también me salta el msgbox! El cual no tendría que salir..., si puedes echarle un vistazo a el código que te mando. Gracias
Private Sub boton3_Click()
Dim origen As String
Dim destino As String
Dim ventana As Integer
destino = InputBox("ruta de acceso de destino", "destino")
If Dir(destino) = "" Then
'dir devuelve el nombre de un destino o fichero, si este existe
'su valor sera vacio ("")si no existe, por lo tanto
'creamos el destino
ventana = MsgBox("No existe la carpeta destino, Crearla?", vbYesNo, "Aviso")
If ventana = vbYes Then
MkDir (destino)
End If
End If
destino = destino & "\" & destino2
For i = 0 To File1.ListCount - 1
destino2 = File1.List(i)
origen = File1.Path & "\" & File1.List(i)
FileCopy origen, destino & destino2
Kill (File1.Path & "\" & File1.List(i))
Next
End Sub

1 respuesta

Respuesta
1
El problema que tienes reside en que la función Dir comprueba exclusivamente ficheros y tú le estás pasando un directorio.
Si lo que quieres es comprobar si existe el directorio puedes hacerlo de dos maneras:
La primera es usando el objeto FileSystemObject del que puedes obtener información en la ayuda del visual.
La segunda forma es haciendo que la función Dir busque el archivo ".", en tu código cambia Dir(destino) por Dir(destino & "\.") para hacerlo suponiendo que en el inputbox no incluyes la barra.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas