Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como CREAR BACKUP de Una CARPETA en FORMA COMPRIMIDA ZIP con Excel VBA #600

Backup de una Carpeta en forma comprimida o ZIP con Excel

COPIA DE SEGURIDAD DE UN DIRECTORIO EN FORMATO COMPRIMIDO ZIP CON UNA MACRO DE EXCEL VBA

Este post se presenta una macro de Excel que muestra como crear una copia de seguridad de una carpeta en forma comprimida ZIP, es decir la macro creará una copia de seguridad de todo un directorio y luego lo comprimirá 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 CREAR COPIA SEGURIDAD DE CARPETAS EN FICHERO ZIP – VBA EXCEL

Al abrir el libro de Excel que se usa como ejemplo, se podrá ver un botón, presionándolo se ejecuta una maro que permite crear una copia de seguridad o backup de todo una carpeta completa con sus distintos archivos, pero lo interesante es que dicha copia de resguardo será comprimida por la misma macro en un archivo ZIP.

En este ejemplo la carpeta donde se guarda el backup es el escritorio de Windows, pero cada uno puede configurar el lugar donde se guarda el backup como por supuesto la carpetas sobre la cual se desea realizar una copia de seguridad.

Explicación de la Macro de Excel que Permite Crear Copia de Respaldo y Comprimir de una Carpeta Entera en un Archivo ZIP

Como primer medida la macro crea una carpeta denominada BACKUP donde se guardarán nuestras copias de seguridad, en este caso se detecta cual es la dirección del escritorio de Windows, con el siguiente código:

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

Si la carpeta BACKUP no existe la crea inmediatamente, así:

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

Posteriormente se detecta el nombre el archivo actual, de esta manera:

nom = ActiveWorkbook.Name

Se extrae el nombre sin la extensión ya que con ello se formará el nombre del archivo zip, también se formatea la fecha y la hora en la que se hará el backup, ya que dichos datos integrarán el nombre del archivo ZIP, se usan los siguietes códigos
lar = InStr(nom, «.»)
nom = Left(nom, lar – 1)
nomfecha = Format(Date, «ddmmyyyy»)
nomhora = Format(Time, «hhmmss»)

Se crea el nombre del archivo ZIP o comprimido:
nomarZip = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.zip»

Se establece cual es la dirección de la carpeta sobre la cual se desea hacer un backup o copia de resguardo
dirback = «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel»

Se crea el archivo Zip, así:

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 guarda la carpeta sobre la cual se está haciendo un backup en el arhivo ZIP creado a tal fin, así:

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

Sale un mensaje avisando que la macro concluyó

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

Código Realizar Copia de Seguridad de Todo un Directorio en Forma Comprimida ZIP

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»)
‘nomarchi1 = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.xlsm»
nomarZip = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.zip»
dirback = «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel»
‘ThisWorkbook.SaveCopyAs nomarchi1 ‘Crea backup y se sigue trabajando en libro original

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
SApp.Namespace(nomarZip).CopyHere dirback
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



 

Puedes DESCARGAR el Libro de Ejemplo Como Crear un Backup de una Carpeta Completa en Formato Comprimido ZIP

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