MACRO PARA EJECUTAR ARCHIVO POR LOTE Y HACER COPIA RESGUARDO DE UN FICHERO
En esta ocasión se presenta una macro de Excel – VBA para ejecutar un script de DOS Windows que permite hacer un backup de un archivo, es decir la macro de Excel solo ejecuta el archivo BAT y este archivo procede a realizar la copia de seguridad de un fichero determinado.
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 DE EXCEL PARA EJECUTAR ARCHIVO BAT Y REALIZAR BACKUP DE UN ARCHIVO
Para poner a prueba el ejemplo se debe descargar desde el final de este post el ejemplo que consta en un archivo comprimido que contiene el libro de Excel con la macro y el archivo .BAT, que no es otra cosa que un TXT o archivo plano con un código sencillo que luego se explica para crear la copia de seguridad de un archivo determinando.
Se debe presionar el botón que está en el libro de Excel con la macro, luego la macro de Excel procederá a abrir o ejecutar el archivo por lotes o BAT, cuyo código contendido en dicho archivo BAT permite hacer una copia de seguridad de un archivo o fichero, en otras palabras la macro solo ejecutará el archivo bat y la programación de este fichero por lotes hará el BACKUP de archivo definido.
Con este código la macro creará una carpeta en el escritorio de Windows, donde se guardará la copia de seguridad, primero determina la ruta del escritorio de Windows, así:
ruta = CreateObject(«wscript.shell»).specialfolders(«desktop») & «\BACKUP\»
Verifica si el directorio BACKUP existe no hace nada, sino existe crea dicho directorio.
If Dir(Direc, vbDirectory) = «» Then MkDir Direc ‘Verifica si existe la carpeta o directorio, si no existe lo crea
Carga en la variable myscript , cual la dirección del archivo bat que se debe ejecutar, se usa el código:
dire = ActiveWorkbook.Path
myscript = dire & «\606 Como Ejecutar Script y Hacer Backup de Un Archivo en Excel VBA.bat»
Luego ejecuta el script con este código:
Shell myscript, vbHide
El script contenido en el archivo por lotes o bat, contiene el siguiente código:
robocopy «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas» «C:\Users\MyNotebook\Desktop\BACKUP» «1000 DBTSPuntoVenta.accdb»
El código anterior es el utilizado para hacer backup de archivos, contiene la sintaxis muy simple:
robocopy «archivo de origen a realizar backup» «archivo de destino o backup»
Para mayores detalles recomiendo ver el vídeo asociado que contiene mayores detalles y podrás ver la macro en acción.
Código Para REALIZAR COPIA DE SEGURIDAD con ARCHIVO BAT, BATCH O POR LOTES EJECUTADO CON UNA MACRO DE EXCEL
Código que va en un modulo VBA Excel
Sub EjecutaScript()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
ruta = 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
dire = ActiveWorkbook.Path
myscript = dire & «\606 Como Ejecutar Script y Hacer Backup de Un Archivo en Excel VBA.bat»
Shell myscript, vbHide ‘también se puede poner 0 en vez de vbDide, para ocultar la ventana
MsgBox («La copia de seguridad se ejecutó con éxito»), vbInformation, «AVISO»
Application.ScreenUpdating = True
Application.DisplayAlerts = tuee
End Sub
Código que va en el archivo BAT, BATCH o POR LOTES
@echo off
robocopy «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas» «C:\Users\MyNotebook\Desktop\BACKUP» «1000 DBTSPuntoVenta.accdb»
rem tambien se puede copiar asi: copy «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\1000 DBTSPuntoVenta.accdb» «C:\Users\MyNotebook\Desktop\BACKUP\»
rem /H Copia archivos ocultos y también archivos del sistema.
rem /I Si el destino no existe y hay que copiar más de un archivo, se asume que el destino debe ser un directorio.
rem /C Continua copiando incluso si ocurren errores.
rem /K Copia atributos. Xcopy normal, restablecerá atributos de sólo lectura.
rem /S Copia directorios y subdirectorios ,exceptuando los vacíos.
rem /E Copia directorios y subdirectorios, incluyendo los vacíos.
rem /R Sobrescribe archivos de sólo-lectura.
rem /Y Suprime la pregunta de confirmación para suprimir un archivo de destino existente.
rem /F Muestra todo el origen y el destino de los nombres de archivo mientras se copian.
LINK PARA DESCARGA MACRO REALIZAR BACKUP CON FICHERO BAT EJECUTADO DESDE MACRO DE EXCEL – VBA
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