Macro copia carpetas y archivos




Domina Excel Hoy
Antes de continuar con el desarrollo te presento uno de los mejores cursos on line que he visto en internet donde encontrarás todo lo necesario para aprender o profundizar en programación de macros.

Te presento un ejemplo de macro que permite copiar carpetas y archivos y en en este post otra forma de copiar carpetas y ficheros. Es posible que algunas macros deban copiarlos a modo de backup o simplemente copiar archivos, este ejemplo enseña como copiar carpetas completas y archivos solos. Anteriormente se ha presentado como crear carpetas, como copiar hojas activa y guardar archivo, como copiar dos o mas hojas de un libro y crear archivo o quizas si estás realizando un backup sería de utilidad una macro que comprime archivos en extensión zip.

El comando que permite copiar una carpeta es CopyFolder y el que permite copiar archivos es CopyFile, sugiero que descargues el ejemplo desde el link del final del post; encontrarás un botón que permite ejecutar la macro que copia directorios con subdirectorios y ficheros.

El ejemplo de macro copia dos carpetas, sus archivos y subdirectorios que sería el origen a una carpeta denominada Backup que es la de destino; las carpetas copiadas son FAC y OT; el archivo copiado se llama Libro1.xlsm.

Para poder verificar su funcionamiento debes crear en el directorio donde se encuentra el archivo con la macro tres carptetas FAC, OT con los ficheros que deseas y otra carpeta que será la de destino, llamada Backup, además un archivo denominado Libro1.xlsm; habiendo creado estas carpetas con sus ficheros y el archivo Libro1.xlsm; se esta en condiciones de ejecutar la macro; al presionar el botón realiza una copia de seguridad; copiando las carpetas FAC y OT conjuntamente con todos los ficheros y subdirectorios, además del libro Libro1.xlsm; todo ello en la carpeta Backup.


  

Ingresando a  la página web de programar Excel http://programarexcel.com/p/home.html, encontrarás cientos de ejemplos de macros y tutoriales que te permitirán automatizar tus hojas de cálculo; en caso de ser útil considera la posibilidad de aportar y con ello ayudarás a seguir manteniendo el sitio.

Suscribe al blog para recibir en tu correo todas las actualizaciones, dispones también de un canal de You Tube donde encontrarás explicaciones de macros con mayor detalle.

Código que se inserta en un módulo



Sub CopyFol()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim fso As New FileSystemObject

folFac = ActiveWorkbook.Path & "\Fac"
folOT = ActiveWorkbook.Path & "\OT"
folBackup = ActiveWorkbook.Path & "\Backup"
myfile = ActiveWorkbook.Path & "\Libro1.xlsm"

fso.CopyFolder folFac, folBackup & "\Fac"
fso.CopyFolder folOT, folBackup & "\OT"
fso.CopyFile myfile, folBackup & "\Libro1.xlsm"

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub


Si te fue de utilidad puedes INVITARME UN CAFÉ y de esta manera ayudar a seguir manteniendo la página, CLICK para descargar en ejemplo en forma gratuita.


If this post was helpful INVITE ME A COFFEE and so help keep up the page, CLICK to download free example.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends