
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