Skip to content

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