Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como Crear BACKUP AUTOMATICO con Programador TAREAS de WINDOWS en Excel VBA #592

Backup automático - Tareas de Windows

CREAR UNA COPIA AUTOMATICA CON LAS TAREAS PROGRAMADAS DE WINDOWS Y EXCEL

En este ejemplo se podrá observar una macro de Excel que permite hacer un backup de archivos de Excel en forma automática utilizando las tareas programadas de Windows.

Tu puedes operar Excel como los mejores, 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 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.

Respaldo de Archivos con Macros de Excel en forma fácil y automática

Con este ejemplo podrás utilizar el programador de tareas de Windows, para que se abra Excel, el cual se abre al ejecutar un archivo bat, se deberá descargar el archivo comprimido y descomprimir guardando los dos archivos, de Excel y Bat en un mismo directorio.

En el programador de tareas se puede programar para ejecutar cuando se desee, este lo que hará es ejecutar un archivo bat, éste a su vez contiene un código para que abra un archivo de Excel, dicho archivo de Excel contiene una macro para hacer la copia de seguridad de un archivo de Excel.

Si bien hay que programar un archivo bat, el proceso es muy sencillo, tan sencillo como crear un archivo txt con el block de notas, copiar el código que se muestra en el ejemplo, cambiando la dirección del archivo ejecutable de Excel y del archivo a abrir y listo.

El usuario no verá nada, el archivo de Excel de abre ejecuta la macro y cierra automáticamente, el usuario no podrá verlo, esto trae aparejado que si en algún momento se quiere ver el código o modificarlo, se deben desactivar las macros para que no se ejecute la macro en el evento open del libro.

Algo importante, pero muy importante, es que se ha codificado el archivo de extensión «bat» de tal manera que el archivo con la macro para realizar el backup, se abre en una instancia nueva de Excel, esto tiene como consecuencia que no cerrará ningún otro libro de Excel en caso de encontrarse abiertos otros libros al momento de ejecutarse la macro.

La macro se ejecutará el día y hora predeterminado y hará un backup o copia de seguridad en forma automática del archivo de Excel seleccionado, todo en forma muy sencilla. 

Código para realizar copia de seguridad automática con las tareas de Windows

El código que se muestra a continuación se debe ingresar en el evento open del Libro de Excel, lo que hace es controlar errores para que no se bloque Excel en caso de algún error; con la segunda línea de código se llama a la macro «Backup» y con la tercer línea de código, cierra la aplicación, acá es importante recordar que al abrirse el Excel en una Instancia Nueva y luego al cerrarse en forma automática; no se toca o cierra el resto de archivos de Excel que pudieran estar abiertos en ese momento al ejecutar la tarea programada de Windows.

On Error Resume Next
Call Backup
Application.Quit

El código que va en el archivo «bat» es el siguiente, acá es importante que para que Excel se abra en una instancia nueva se deben agregar los comandos al principio y entre medio respectivamente:

start «» «

/e

Esta C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE»; es la dirección donde se guarda en defecto el aplicativo de Excel.

Esta es la dirección o ruta completa del archivo que contiene la macro para hacer el backup, que en este caso es la dirección donde tengo en mi pc el archivo del cual se desea hacer una copia de seguridad

«C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Como Crear Backup con Programador Tareas de Windows en Excel VBA.xlsm»

El código completo que va en el archivo bat es el siguiente:

start «» «C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE» /e «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Como Crear Backup con Programador Tareas de Windows en Excel VBA.xlsm»

El código que va en un módulo a la cual se llama para ejecutarse y realizar el backup comienza estableciendo la dirección donde se guardará el archivo del cual se hizo la copia de seguridad, en este caso se guardará en el escritorio de Windows por eso se debe establecer cual es la dirección en cada PC y se hace con este código

CreateObject(«wscript.shell»).specialfolders(«desktop»)

Luego se asigna a la variable Direc la dirección de la carpeta donde se guardarán los backup, que en este caso esta dada por el directorio «BACKUP» en la dirección del escritorio de Windows, con el siguiente código se hace:

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

Si dicha carpeta o directorio «BACKUP» no existe la macro crea la carpeta:

If Dir(Direc, vbDirectory) = «» Then MkDir Direc 

Los siguientes códigos permiten determinar el nuevo nombre del archivo al cual se le realizará un backup o resguardo, el cual estará formado por el nombre del archivo de Excel (sin su extensión), la fecha y la hora en la que se realiza el backup, eso se hace con los siguientes códigos:

nom = «591 Como Crear Backup con un Click en Excel VBA»
nomfecha = Format(Date, «ddmmyyyy»)
nomhora = Format(Time, «hhmmss»)

Para formar el nombre se concatenan todas las variables anteriores, asi:
nomarchi1 = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.xlsm»

Luego se establece la dirección de donde se encuentra el archivo o fichero al cual se le requiere hacer copia de seguridad, éste se debe modificar por la dirección del archivo del cual se requiera hacer un backup, el código es:

copyold = «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\591 Como Crear Backup con un Click en Excel VBA.xlsm»

Finalmente se crea la copia del libro seleccionado en la dirección prestablecida con el nombre que acabamos de otorgarle al archivo que está formado por la palabra Backup, nombre del archivo, fecha y hora de realización del resguardo del archivo.

FileCopy copyold, nomarchi1

 

Código VBA para utilizar tareas programadas de Windows y archivo bat para generar un backup en Excel

Código que se coloca en el evento open de ThisWorkbook

Private Sub Workbook_Open()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Call Backup
Application.Quit
Application.DisplayAlerts = True
Application.ScreenUpdating = True
End Sub



Código que se coloca en un módulo de un archivo de Excel

Sub Backup()
On Error Resume Next
Direc = CreateObject(«wscript.shell»).specialfolders(«desktop») & «\BACKUP\» ‘Determinamos direccion escritorio windows
If Dir(Direc, vbDirectory) = «» Then MkDir Direc ‘Verifica si existe la carpeta o directorio, si no existe lo crea
nom = «591 Como Crear Backup con un Click en Excel VBA»
nomfecha = Format(Date, «ddmmyyyy»)
nomhora = Format(Time, «hhmmss»)
nomarchi1 = Direc & «BACKUP» & » » & nom & » » & nomfecha & » » & nomhora & «.xlsm»
copyold = «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\591 Como Crear Backup con un Click en Excel VBA.xlsm»
FileCopy copyold, nomarchi1
End Sub

Código que se coloca en el archivo Bat

start «» «C:\Program Files\Microsoft Office\root\Office16\EXCEL.EXE» /e «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Como Crear Backup con Programador Tareas de Windows en Excel VBA.xlsm»



Descarga el que permite generar backup automáticos en Excel usando Tareas programadas de Windows

Descarga desde acá el archivo de este ejemplo que se usa en este post y en el vídeo explicativo, el mismo es totalmente gratuito y libre su uso, 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