Puede haber varios archivos no deseados y no utilizados consumiendo su espacio en disco. Limpiar estos archivos puede ser una tarea enorme. Con Excel, puede encontrar fácilmente esos archivos no utilizados y eliminarlos instantáneamente para liberar espacio en el disco.
Descargar Ahora
Si quieres starPara utilizar el software lo antes posible, puede:
De lo contrario, si desea hacer bricolaje, puede leer el contenido a continuación.
Preparemos la GUI
Elimine las hojas no deseadas del libro de trabajo y cambie el nombre de la Hoja 1 como GUI y guarde el libro de trabajo como libro de trabajo habilitado para macros. Como se muestra en la imagen adjunta, cree dos botones en la hoja y cambie el nombre del Botón 1 como "Examinar" y cambie el nombre del Botón 2 como "Eliminar archivos". Puede combinar varias columnas para crear una columna más grande para acomodar la ruta del archivo o puede aumentar el ancho de una sola columna.
Hagámoslo funcional
Copie el script en un nuevo módulo en su libro de trabajo habilitado para macros. Asegúrese de que el nombre del módulo sea Module1. De lo contrario, el script arrojará un error. Adjunte el script “Scan_This_Folder” al botón “Examinar” y el procedimiento “Eliminar_archivos” debe adjuntarse al botón “Eliminar archivos”.
Sub filefordelete()
Dim v_var1 As Scripting.FileSystemObject
Dim v_var2 As Scripting.Folder
Dim v_var3 As Scripting.File
scanthis = Range("B3").Text
Set v_var1 = New Scripting.FileSystemObject
Set v_var2 = v_var1.GetFolder(scanthis)
i = 7
For Each v_var3 In v_var2.Files
Cells(i, 2) = v_var3
Cells(i, 11) = v_var3.DateLastModified
i = i + 1
Next v_var3
Set v_var1 = Nothing
End Sub
Sub Delete_Files()
Dim lr As Long
Dim r As Long
lr = Range("B" & Rows.Count).End(xlUp).Row
For r = 7 To lr
Kill Range("B" & r).Value
Next r
End Sub
Function scanthisfolder() As String
Dim v1 As FileDialog
Dim v2 As String
Set v1 = Application.FileDialog(msoFileDialogFolderPicker)
With v1
.Title = "Folder to scan for files"
.AllowMultiSelect = False
If .Show <> -1 Then GoTo NextCode
v2 = .SelectedItems(1)
End With
NextCode:
scanthisfolder = v2
Set v1 = Nothing
End Function
Sub Scan_This_Folder()
Range("B3").Value = scanthisfolder()
Call Module1.filefordelete
End Sub
¿Cómo funciona?

Retocarlo
A partir de ahora, el script busca archivos dentro de la carpeta seleccionada. Si hay subcarpetas dentro de la carpeta seleccionada, la secuencia de comandos no puede escanearla. Puede modificar el script para escanear todas las subcarpetas dentro de la carpeta raíz y también crear una nueva columna para comparar la "Fecha de última modificación" de los archivos con la fecha actual y mostrar los Días. A continuación, puede modificar el script para eliminar archivos automáticamente según la cuenta de días. Aunque el script utiliza la técnica de script de archivos de Microsoft, las propiedades de archivo de xlsx dañado los archivos no se pueden recuperar.
Introducción del autor:
Nick Vipond es un experto en recuperación de datos en DataNumen, Inc., que es el líder mundial en tecnologías de recuperación de datos, incluyendo recuperar palabra y productos de software de recuperación de Outlook. Para más información visite www.datanumen.com.