
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