Como excluir em lote vários arquivos indesejados ou não utilizados com o Excel VBA

Compartilhe agora:

Pode haver vários arquivos indesejados e não utilizados consumindo seu espaço em disco. Limpar esses arquivos pode ser uma tarefa enorme. Com o Excel, você pode encontrar facilmente esses arquivos não utilizados e excluí-los instantaneamente para liberar espaço em disco.

Faça o download

Se você quiser start para usar o software o mais rápido possível, então você pode:

Baixe o software agora

Caso contrário, se você quiser DIY, pode ler o conteúdo abaixo.

Vamos preparar a GUI

Remova planilhas indesejadas da pasta de trabalho e renomeie a Planilha 1 como GUI e salve a pasta de trabalho como pasta de trabalho habilitada para macro. Conforme mostra a imagem anexa, crie dois botões na planilha e renomeie o Botão 1 como “Browse” e renomeie o Botão 2 como “Delete Files”. Você pode mesclar várias colunas para criar uma coluna maior para acomodar o caminho do arquivo ou aumentar a largura de uma única coluna.Preparar a GUI

Vamos torná-lo funcional

Copie o script para um novo módulo em sua pasta de trabalho habilitada para macro. Certifique-se de que o nome do módulo seja Module1. Caso contrário, o script gerará um erro. Anexe o script “Scan_This_Folder” ao botão “Browse” e o procedimento “Delete_Files” deve ser anexado ao botão “Delete Files”.

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 = Novo Scripting.FileSystemObject Set v_var2 = v_var1.GetFolder(scanthis) i = 7 Para cada 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 = "Pasta para procurar arquivos" .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

Como funciona?

Código VBAQuando o usuário seleciona uma pasta, o script lê todos os arquivos dentro da pasta selecionada e exibe o nome do arquivo junto com a data da última modificação. Verifique a lista, remova as linhas se quiser manter o arquivo e clique no botão "Excluir arquivos". O script agora identificará a última linha usada e excluirá os arquivos lendo o caminho do arquivo da planilha.

Ajuste-o

A partir de agora, o script verifica os arquivos dentro da pasta selecionada. Se houver subpastas dentro da pasta selecionada, o script não poderá verificá-la. Você pode ajustar o script para verificar todas as subpastas dentro da pasta raiz e também criar uma nova coluna para comparar a “Data da última modificação” dos arquivos com a data atual e exibir os dias. Você pode ajustar o script para excluir arquivos automaticamente com base na contagem de dias. Embora o script use a técnica de script de arquivo da Microsoft, as propriedades do arquivo de danificado xlsx os arquivos não podem ser recuperados.

Introdução do autor:

Nick Vipond é um especialista em recuperação de dados em DataNumen, Inc., líder mundial em tecnologias de recuperação de dados, incluindo recuperar palavra e produtos de software de recuperação do Outlook. Para mais informações visite www.datanumen.com.

Compartilhe agora:

Uma resposta para “Como excluir em lote vários arquivos indesejados ou não utilizados com Excel VBA”

Deixe um comentário

O seu endereço de e-mail não será publicado. Os campos obrigatórios são marcados com *