Macro crea y borra archivos


Crear y Borrar archivos mediante código de VBA, me preguntaron en un foro de USA si era posible que una macro borre archivos, a la cual le adicione que previamente la macro de excel cree archivos para que el ejemplo sea de utilidad, entonces este post contiene una macro de Excel que crea y borrar archivos, en este caso los archivos son de Excel, sin embargo se puede modificar y borrar con una macro cualquier tipo de archivo, se debe tener cuidado al manipular la misma ya que puede por error borrar archivos importantes, pero si se siguen las instrucciones no hay ningún tipo de problema ya que trabaja en un ambiente controlado, un ejemplo de este blog crea archivos Csv luego de extraer información de otro libro, ejemplo que también aporta a enseñar como se manipulan archivos..

Trabajar con archivos obliga a saber como manipular carpetas, ya sea crear, borrar, saber si existen o no en un determinado directorio, crear sus nombre en forma variable es decir sea el resultado de una celda o cualquier otra variable, es por ello que sería importante complementar este post con el denominado crea carpetas y guarda nombre de archivo en forma variable en PDF o también es común necesitar copiar los datos de un libro en otro, para ello se crea una macro que copia datos, abre libro y lo cierra, con estos ejemplos se está en condiciones que crear una macro propia, combinándolas.


Antes de continuar, recomiendo que leas un excelente libro sobre Excel el que te ayudará operar las planillas de cálculo, haz 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 on line que he visto en internet.


MASTERCARD PAYONEER


Desde el link del final se puede descargar el fichero de ejemplo, siendo necesario descargar el archivo con la macro y luego modificar la dirección tal cual se explica.


Resumo el procedimiento para poder configurar la macro y que funcione bien; se debe modificar la dirección que figura en la macro por una dirección correcta:


Modificar la dirección original que figura en la macro



path = "C:\Users\MyNotebook\Documents\Archivos a Borrar"

Por una dirección real en tu PC por ejemplo

C:\Users\Miusuario\Documents\Archivos a Borrar

Se debe modificar tanto la macro que crea como en la macro que elimina los archivos, es decir dos veces.

path = "C:\Users\Miusuario\Documents\Archivos a Borrar"por la dirección

La macro que crea y borra archivos, se podrá ver en funcionamiento una vez descargado a tu PC el archivo de ejemplo, al abrir el libro salen dos botones tal cual la imagen del principio, presionando el botón crear archivos creará una serie de archivos del 1 al 9, es decir Libro1, Libro2, Libro3 y así sucintamente.


Presionando el botón eliminar, eliminará los archivos listados en la columna A de la Hoja 1, recorriendo fila por fila hasta el final, verificando que previamente el archivo exista, en caso de existir elimina el archivo, se puede modificar y eliminar cualquier tipo de archivo, se sugiere tratar con sumo cuidado y siguiendo las instrucciones para evitar un borrado accidental de otros archivos que son de utilidad. El código que sigue es el realiza los procedimientos descriptos el primero Elimina archivos y el segundo crear archivos



El vídeo que sigue muestra una explicación más detallada y gráfica de la macro presentada, recomiendo observar para una más fácil comprensión de la macro; suscribe a nuestra web desde la parte superior derecha de la página ingresando tu mail y a nuestro canal de You Tube para recibir en tu correo vídeos explicativos sobre macros interesantes, como  por ejemplo formulario que crea un listado de todas las hojas para poder luego seleccionarlasbuscar en listbox mientras escribes en textboxordenar hojas libro excel por su nombreconectar Excel con Access y muchos ejemplos más.









Código que se debe insertar en un módulo


Sub EliminarArchivos()
Application.ScreenUpdating = False
Dim fila, path, nomfile, pnf As String
fila = 2
'Arma el path
While Sheets("Hoja1").Cells(fila, 1) <> Empty
path = "C:\Users\MyNotebook\Documents\Archivos a Borrar" 'CAMBIAR ESTA DIRECCION, POR LA DIRE DONDE SE COPIE LA CARPETA BAJADA
nomfile = Sheets("Hoja1").Cells(fila, 1)
path1 = path & "\" & nomfile & ".xlsm"
'Verifica que este el archivo en su caso lo elimina y escribe aviso, sino escribe un aviso.
If Dir(path1) <> "" Then
Kill path1
Sheets("Hoja1").Cells(fila, 2) = "Eliminado"
Else

 

Sheets("Hoja1").Cells(fila, 2) = "Archivo No Existe"
End If
fila = fila + 1
Wend
Application.ScreenUpdating = True
End Sub

Sub creaarchivo()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim fila, path, nomfile, pnf As String
Dim ObjExcel As Application
Dim ObjLibro As Workbook
fila = 2


'Arma el path
For x = 2 To 10

path = "C:\Users\MyNotebook\Documents\Archivos a Borrar" 'CAMBIAR ESTA DIRECCION, POR LA DIRE DONDE SE COPIE LA CARPETA BAJADA
nomfile = Sheets("Hoja1").Cells(x, 1)
path1 = path & "\" & nomfile & ".xlsm"

'Verifica que la carpeta necesaria para el ejemplo este, caso contrario la crea
If Dir(path, vbDirectory) = "" Then
MkDir path
End If

'Verifica que este el archivo en su caso lo elimina y escribe aviso, sino escribe un aviso.
If Dir(path1) = "" Then
'Abre una instancia nueva de Excel
Set ObjExcel = CreateObject("Excel.Application")
ObjExcel.Visible = True
'Crea un nuevo libro o abre un libro existente
Set ObjLibro = ObjExcel.Workbooks.Add
ActiveWorkbook.SaveAs Filename:=path1
ObjExcel.Quit
Sheets("Hoja1").Cells(x, 2) = "Creado"
Else
Sheets("Hoja1").Cells(x, 2) = "Archivo Existente"
End If

Next x
nomfile = "Macro Crea y Borrar Archivos"
path1 = path & "\" & nomfile & ".xlsm"
ActiveWorkbook.SaveAs Filename:=path1
Application.ScreenUpdating = True
Application.DisplayAlerts = False
End Sub



Otros post de utilidad:
Colorea celda del dato buscado
Busca un dato en todas las hojas de excel
Combobox incrustado en Excel
Formulario para insertar datos en hoja de excel
Tutoriales sobre VBA
Llenar combobox y buscar datos
Mensaje de Alerta y envío de mail con Excel
Combobox que lista hojas de excel y las selecciona





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.


Si te gustó por favor compártelo con tus amigos
If you liked please share it with your friends