
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.
聽
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