Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como Crear BACKUP de TODOS los ARCHIVOS de Una CARPETA en un ARCHIVO ZIP con Excel VBA #601

Backup comprimido de carpetas y archivos en ZIP

COPIA DE SEGURIDAD DE TODOS LOS FICHEROS Y SUBCARPETAS DE UNA CARPETA EN FORMATO COMPRIMIDO ZIP

En este ejemplo vamos a ver como con una macro de Excel se realiza una copia de resguardo de todos los archivos y carpetas de un directorio comprimiendo dicha carpeta en un archivo ZIP.

Maneja Excel como los mejores deberías hacer click acá, si quieres aprender sobre Excel en inglés, entonces debes hacer click here. Si lo que necesitas es aprender o profundizar sobre la programación de macros con VBA este es unos de los ❤️MEJORES CURSOS de EXCEL ON LINE❤️ que he visto en internet, te lo recomiendo no te arrepentirás.

  
Puedes ver la macro en acción y una explicación más detallada de su codificación y funcionamiento, descarga el archivo y mira el video para una más fácil comprensión de la macro; suscribe a nuestro canal de You Tube, mira el playlist con  vídeos relacionados donde podrás ver la macros relacionadas en acción con una explicación en forma visual que ayudará a entender el ejemplo en forma más fácil. Te pido que me sigas y comentes en DTube y Odysee para poder seguir publicado macros gratis.

MACRO PARA ARCHIVO COMPRIMIDO ZIP CON TODOS LOS FICHEROS Y CARPETAS DE UN DIRECTORIO

En este ejemplo se procederá a realizar con una macro de Excel VBA un backup o copia de resguardo de un directorio entero, es decir de todas los subdirectorios que contenga y los ficheros.

La macro crea donde se hará la copia de seguridad, en este caso determina donde está la dirección del escritorio de Windows y la carpeta backup que debiera estár en dicho directorio, así:

Direc = CreateObject(«wscript.shell»).specialfolders(«desktop») & «\BACKUP\»

Si no existe la crea con el siguiente código

If Dir(Direc, vbDirectory) = «» Then MkDir Direc ‘Verifica si existe la carpeta o directorio, si no existe lo crea

Luego determina el nombre del archivo que contiene la macro, sin la extensión, luego formatea la fecha y la hora actual para incorporarla como nombre del archivo ZIP, se usan los siguientes códigos:

nom = ActiveWorkbook.Name
lar = InStr(nom, «.»)
nom = Left(nom, lar – 1)
nomfecha = Format(Date, «ddmmyyyy»)
nomhora = Format(Time, «hhmmss»)

Se determinar el nombre concatenando las variables anteriores

nomarZip = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.zip»

Luego se establece la dirección de la carpeta a crear el backup, así:

dirback = «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel»

Se crea el archivo ZIP, con el siguiente código:

Set SApp = CreateObject(«Shell.Application»)

Open nomarZip For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1

Se agregan al archivo ZIP todos los ítems del directorio seleccionado, luego sale mensaje estableciendo que se creó el archivo zip con la carpeta comprimida dentro del ZIP, los código son:

SApp.Namespace(nomarZip).CopyHere SApp.Namespace(dirback).items

Previo a finalizar se espera que se terminen de comprimir los fihceros y carpetas para ello se hace que la macro espere dos segundos y luego continua.

Application.Wait (Now + TimeValue(«0:00:02»))

MsgBox («El Backup ZIP se creo con éxito»), vbInformation, «AVISO»

Código Para Crear Copia de Seguridad o Backup de una Carpeta con todos los archivos y subcarpetas en formato comprimido ZIP

Código que va en un modulo VBA Excel

Sub Backup()
On Error Resume Next
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim SApp As Object

Direc = CreateObject(«wscript.shell»).specialfolders(«desktop») & «\BACKUP\»

If Dir(Direc, vbDirectory) = «» Then MkDir Direc ‘Verifica si existe la carpeta o directorio, si no existe lo crea

nom = ActiveWorkbook.Name
lar = InStr(nom, «.»)
nom = Left(nom, lar – 1)
nomfecha = Format(Date, «ddmmyyyy»)
nomhora = Format(Time, «hhmmss»)
nomarZip = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.zip»
dirback = «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel»

Set SApp = CreateObject(«Shell.Application»)

Open nomarZip For Output As #1
Print #1, Chr$(80) & Chr$(75) & Chr$(5) & Chr$(6) & String(18, 0)
Close #1

SApp.Namespace(nomarZip).CopyHere SApp.Namespace(dirback).items
Application.Wait (Now + TimeValue(«0:00:02»))

MsgBox («El Backup ZIP se creo con éxito»), vbInformation, «AVISO»
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub


 

DESCARGA LA MACRO PARA GENERAR UN BACKUP DE UN DIRECTORIO COMPLETO CON SUBCARPETAS Y FICHOEROS INCLUIDOS EN FORMA COMPRIMIDA

Descarga el fichero usado como ejemplo en este post y en el vídeo explicativo, el mismo es totalmente gratuito y su uso es libre, solicito aportar para sostener esta web, si está dentro de tus posibilidades, desde ya muchas gracias.

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.

Donate:
👉⏩ Cuenta Paypal: https://paypal.me/programarexcel

👉⏩ Cuenta Bitcoin: 1KBGGb8fyDzyR3X1Rie6m7VguzaAfngNbd

👉⏩ Cuenta Ether: 0x41Bbd24556914C83a31217eBb3BC49789b66e407

👉⏩ Cuenta Skrill: marcrodos@yahoo.es

👉⏩ Cuenta Neteller: marcrodos@yahoo.es

👉⏩ Apoya mi trabajo https://www.patreon.com/programarexcel

👉⏩ Sígueme en DTube: https://d.tube/#!/c/programarexcel01

👉⏩ Sígueme en Odysee: https://odysee.com/@programarexcel:3