Método copyfile a un pendrive error

Tengo un problema con una macro simple, y lo que quiero es copiar unas carpetas a un pendrive.

Me pasa una cosa muy curiosa, si la carpeta de destino está vacía, funciona sin problemas, pero si tiene carpetas, me da error de permiso denegado. He probado poner valor true para que sobrescriba, pero da el mismo error.

Intento borrar el contenido de la carpeta para que copie las carpetas y también me da error. Si embargo, pruebo borrar una carpeta nueva, y la puedo borrar sin problemas.

Sub Copia()
Dim FSO As New FileSystemObject
rpta = MsgBox("¿CREAR COPIA DE SEGURIDAD?", vbYesNo, "LLEVARÁ UNOS MINUTOS")
If rpta = vbNo Then Exit Sub
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.CopyFolder "H:\carpeta1\carpeta2\*", "D:\COPIA SEGURIDAD H"
End Sub

2 Respuestas

Respuesta
1

He descubierto que da error porque al tratar sobreescribir archivos temporales de Office (los que empiezan por ~) los considera como archivos de sistema y de ahí el permiso denegado. Ni sabía que tenía estos archivos, no sólo uno, ya que están ocultos.

Estaría bien poder eliminar esos archivos antes de ejecutar la macro, por si alguien sabe como.

Respuesta
1

Víctor para la próxima es conveniente incluir la captura de errores, algo como

On Error Goto hay_error:

'Aquí va el código

hay_error_exit:

  exit sub

hay_error:

   Msgbox "Ocurrió el error " & Err.Descripcion,vbCritical,"Error....."

  Resume hary_error_exit

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas