Eliminar carpeta con una macro de excel

Y amigas que puedan leerme y ayudarme, verán tengo un dilema estoy trabajando con ciertas macros para crear y eliminar ciertas carpetas, para crearlas esta todo bien, el problema esta para eliminarlas

Esta es la macro que uso para crearlas:

'guardar primero
Sub crearcarpeta2()
'Por.DAM
Ruta = "\\BCC\bccservidor\BCC\2018\1-COTIZACIONES\COTIZACION ACC\plantillas generadas\"
arch = Range("H1")
If Dir(Ruta & "\" & arch, vbDirectory) = "" Then
MkDir Ruta & "\" & arch
End If
'Range("A2:F50").Copy
'Workbooks.Add
'ActiveSheet.Paste
ActiveWorkbook.SaveAs Ruta & arch & "\" & "PLANTILLA PARA COTIZAR EN EXCEL BCC.xlsm"
End Sub

Que por cierto la tome de un comentario en este post de antemano agradezco a @Dante Amor, ok el problema es el siguiente (aclaro esta macro funciona perfectamente para lo que la necesito) luego de ciertos procesos que ya están definidos y también trabajan bien yo necesito eliminar esa carpeta y ese archivo que se generan con la macro anterior, ¿qué me podrían aconsejar cual podría usar?

2 Respuestas

Respuesta
1

[Hola

Una forma rápida de eliminar un carpeta con todos los archivos que contenga, es la siguiente:

Sub BorrarCarpeta()
Dim FSO As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder "D:\Carpeta"
End Sub

Ah, eso sí, la condición es que todos los archivos que estén dentro estén cerrados, de estar uno (o más) abiertos, dará error.

Abraham Valencia

Ok gracias... mañana temprano lo probaré aunque hay un detalle la carpeta no se guarda con un nombre fijo, si te fijas en la macro que uso para crearla usa como referencia el valor de una celda y cada vez que se genera una carpeta se genera con un nombre distinto por eso es que no e conseguido una forma de eliminar la carpeta que contenga el nombre de dicha celda, en este caso es "h1" de nuevo gracias y mañana temprano lo probaré...

En realidad es bastante simple, cuestión de usar variables tal cual en la macro que has colocado en tu mensaje:

Sub BorrarCarpeta()
Dim FSO As Object
Dim Ruta As String, CarpetaNueva As String
Let Ruta = "\\BCC\bccservidor\BCC\2018\1-COTIZACIONES\COTIZACION ACC\plantillas generadas\"
Let CarpetaNueva = Range("H1")
Set FSO = CreateObject("Scripting.FileSystemObject")
FSO.DeleteFolder Ruta & CarpetaNueva
End Sub

Abraham Valencia

PD: Se supone que en la celda H1 el nombre de la carpeta a eliminar es exacto

Respuesta
1

Como estas usa estos comandos

Para borrar archivos
FSO.deletefile MiRutaDirectorio& "\*.*", True

Para Borarr Carpetas
FSO.deletefolder MiRutaDirectorio & "\*.*", True

Esto te puede ayudar también

https://macrosenexcel.com/2014/01/listar-archivos-y-subcarpetas-con-macro.html

https://macrosenexcel.com/2015/11/macro-copia-carpetas-y-archivos.html

https://macrosenexcel.com/2015/11/otro-forma-copiar-archivos-y-carpetas.html

https://macrosenexcel.com/2018/01/como-buscar-archivos-en-una-carpeta-y.html

https://macrosenexcel.com/2018/01/como-buscar-archivos-en-una-carpeta-y_4.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas