Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como EJECUTAR SRCRIPT y Hacer BACKUP de ARCHIVOS y DIRECTORIOS en Excel VBA #605

macro ejecuta fichero bat y hacer backup

MACRO DE EXCEL PARA EJECUTAR ARCHIVO BAT Y REALIZAR UN BACKUP DE ARCHIVOS Y DIRECTORIOS

En este ejemplo se muestra una macro de Excel que crea una copia de seguridad de archivos y directorios, pero a través de un archivo por lotes, batck o .bat como se lo conoce normalmente, es decir la macro con código de VBA ejecutará un fichero bat que tiene un código para realizar una copia de resguardo de ficheros y carpetas definidas en el archivo bat.

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 PARA CREAR BACKUP CON ARCHIVO BAT O POR LOTES

El ejemplo permite al presionar el botón que está en el archivo de Excel crear una copia de seguridad, pero para ello utilizar un fichero BAT o BACTH o por lotes, como les guste denominarlo, el archivo BAT se ejecuta con una macro de Excel y la copia de seguridad de Archivos y Directorios se realiza por medio de un código que tiene el fichero .bat que es ejecutado o su apertura se realiza por medio de la macro que se muestra en este ejemplo.

El código que contiene el archivo bat es muy simple, también se explica en este ejemplo por lo que no es necesario saber programar, estos tipos de ficheros se usan en los sistemas operativos Windows;  los ficheros .bat (bat files) son una serie de órdenes en formato MS-DOS que el sistema operativo acepta. 

En este ejemplo se supone que el fichero bat está en el mismo directorio donde está el archivo excel con la macro por eso se carga en la variable dire dicho path, ustedes pueden poner la dirección que deseen.

dire = ActiveWorkbook.Path

luego en otra variable se contatena la direción de la carpeta y el nombre del archivo bat, que en este caso tiene el mismo nombre que el archivo, pero tiene una extensión .bat.

myscript = dire & «\605 Como Ejecutar Script y Hacer Backup de Archivos y Directorios en Excel VBA.bat»

Para ejecutar un archivo por lotes o bat desde una macro de Excel se utiliza el siguiente comando, esto abrirá el archivo bat y ejecutará el código que tiene dicho fichero, que en este caso realiza una copia de seguridad de archivos y carpetas designadas, el código es:

Shell myscript, vbHide

Si no se pone el parámetro vbHide, se muestra la ventana negra clásica del DOS, en este caso se agrega ese parámetro por lo que no se verá absolutamente nada solo el resultado final que es la copia de seguridad generada.

El código que se debe agregar dentro del archivo bat se muestra al final, también se muestran ciertos parámetros que se pueden usar los más avanzados, no obstante el código es muy simple y con el siguiente código se puede hacer el backcup:

xcopy /e/f/c/k/y «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel» «C:\Users\MyNotebook\Desktop\BACKUP\»

Si se fijan no es otra cosa que agregar el comando xcopy, dirección de origen y dirección de destino.

En este ejemplo se agregan al comando copy ciertos parámetros que se explican a continuación

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 /T Copia estructura solamente de directorios y subdirectorios sin los archivos
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.

Ósea que el código del archivo bat para crear la copia de seguridad y que es ejecutado por la macro que se presenta de ejemplo, contiene solamente con la sintaxis para realizar la copia de resguardo:

xcopy «dirección de origen» «dirección de destino» 

Código Para EJECUTAR ARCHIVO POR LOTES O BACTH Y CREAR UNA COPIA DE SEGURIDAD CON UNA MACRO DE EXCEL

Código que va en un módulo de VBA Excel

Sub EjecutaScript()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
dire = ActiveWorkbook.Path
myscript = dire & «\605 Como Ejecutar Script y Hacer Backup de Archivos y Directorios 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 = True
End Sub


 

Código de fichero .bat o batch

@echo off
xcopy /e/f/c/k/y «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel» «C:\Users\MyNotebook\Desktop\BACKUP\»


 

DESCARGA LA MACRO para EJECUTAR ARCHIVO BAT O POR LOTES DESDE EXCEL Y HACER UN BACKUP

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