Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como EJECUTAR SCRIPT y Hacer COPIA SEGURIDAD de Un ARCHIVO en Excel VBA #606

Macro ejecuta script y hace backup

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.

  
 
 
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 los playlist con  Vídeos de Macros de Excel con Ejemplos Gratis para Descargar 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. Te pido que apoyes al canal;  suscribe y comenta en DTube y Odysee para poder seguir publicado macros gratis.
 
 
 

 

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