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.
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