Saltar al contenido
PROGRAMAR EN VBA MACROS DE EXCEL

Como EJECUTAR SCRIPT y Hacer BACKUP de Archivos en Excel VBA #604

Ejecutar archivo por lotes con excel y hacer backup

MACRO PARA EJECUTAR SCRIPT Y HACER COPIA DE SEGURIDAD

En este ejemplo se muestra una macro que ejecuta un archivo bat, batch o por lotes y que genera un backup de varios archivos, el archivo de excel contiene una macro que ejecuta el archivo bat y este archivo bat es el que contiene el código para realizar el backup de los archivos de un directorio.

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 CREAR COPIA DE SEGURIDAD A TRAVES DE UN ARCHIVO .BAT O POR LOTES

Para poder probar el funcionamiento de la macro contenida en este ejemplo, se debe descargar el archivo, lo cual se realiza desde el final de este post, una vez descargado el archivo comprimido, descomprimir y poner los dos archivos juntos en la misma carpeta, el archivo de Excel que contiene la macro y el archivo BAT que contiene el script para realizar la copia de seguridad de los archivos contenidos en la carpeta que queramos.

En este ejemplo el backup se hará en una carpeta denominada BACKUP que estará en el escritorio de Windows, para ello la macro crea dicha carpeta, si es que no la contiene para ellos se usan los siguientes códigos:

ruta = CreateObject(«wscript.shell»).specialfolders(«desktop») & «\BACKUP\»
If Dir(Direc, vbDirectory) = «» Then MkDir Direc

Luego se establece la dirección del archivo bat que contiene el script para hacer el backup, en este caso obtenemos el path del archivo actual ya que será el mismo path del archivo con el script ya que se han descomprimido y puesto en la misma carpeta, en caso que no estén juntos, se debe establecer la ruta correcta hasta el archivo con el script y cargarlo en la variable «myscript»; en este caso al estar juntos se usan los siguientes códigos:

dire = ActiveWorkbook.Path
myscript = dire & «\604 Como Ejecutar Script y Hacer Backup Solo de Archivos en Excel VBA.bat»

El código de la macro de Excel VBA que ejecuta el archivo bat o bacth es el siguiente:

Shell myscript, vbHide

Bien hasta acá es el código de la macro en VBA, ahora ya una vez ejecutado el archivo BAT, comienza a actuar el código o script que esta en dicho archivo que es el que genera el backup o copia de resguardo, es código es muy simple y es el siguiente:

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

Si se fijan la sintaxis es comando, parámetros y «dirección de origen» «dirección de destino»

Los parámetros son los que siguen al comando «xcopy» y entre otros los que se pueden usar son los siguientes:

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.
rem xcopy/? comando para mas ayuda

Código PARA EJECUTA UN ARCHIVO BAT CON UNA MACRO Y REALIZAR BACKUP DE ARCHIVOS

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 & «\604 Como Ejecutar Script y Hacer Backup Solo de Archivos 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 se agrega en un archivo bat

@echo off
xcopy /f/c/k/y «C:\Users\MyNotebook\Documents\AAMIS MACROS\Publicadas\592 Crea Backup con Excel» «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.
rem xcopy/? comando para mas ayuda


DESCARGA EL CÓDIGO PARA EJECUTAR ARCHIVOS BAT Y HACER COPIAS DE SEGURIDAD 

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