Diariamente, gastava em torno de uma hora, para efetuar a validação de meus backups. Meus backups são salvos em uma pasta, onde eu tinha que entrar em efetuar o preenchimento de uma planilha com os nomes, tamanho e data de cada um dos arquivos. Para facilitar, criei um script em VBA, onde automatizei a geração da planilha, economizando muito tempo.
Abaixo segue o procedimento que utilizei para essa atividade.
Abri o Excel:
Adicionei a Aba de desenvolvimento.
Clique no icone:
Selecione "Opeções do Excel"
Selecione a opção "Mostrar guia Desenvolvedor na Faixa de Opção"
Clique na Aba "Desenvolvedor"
Selecione a opção Visual Basic
Na Tela do Visual Basic, clique com o botão direito do mouse em cima da Planilha, e em seguinda selecione Exibir código.
Copie o script abaixo para a tela:
Sub ListaArquivos()
'Se quiser utilizar
Early Binding, adicione a biblioteca Microsoft Scripting Runtime
'Mude esse valor para
buscar outro caminho:
Const strCaminho As String = "CAMINHO DA PASTA"
'Declaração de
variáveis:
Dim fso As Object 'Scripting.FileSystemObject
Dim fld As Object 'Scripting.Folder
Dim fl As Object 'Scripting.File
Dim n As Long
'Aqui é criado o
objeto que comunica com as pastas do computador
Set fso = CreateObject("Scripting.FileSystemObject")
'Esse objeto executa
um método do FileSystemObject
'para buscar atribuir
à variável fld uma pasta
Set fld = fso.GetFolder(strCaminho)
With ActiveSheet
'Limpa e formata a Planilha ativa:
.Cells.Delete
.Range("A1:D1") = Array("Caminho", "Nome", "Tamanho", "Modificado em:")
n = 2
'Laço em cada arquivo do caminho desejado:
For Each fl In fld.Files
.Cells(n, "A") = fl.Path 'Caminho completo
.Cells(n, "B") = fl.Name 'Nome
.Cells(n, "C") = fl.Size 'Tamanho
.Cells(n, "D") = fl.DateLastModified 'Data de Modificação
'Note que você poderia adicionar outras propriedades dos arquivos em
outras colunas
'Nesse exemplo foram mostrados como visualizar apenas quatro de muitas
propriedades de um arquivo
n = n + 1
Next fl
End With
End Sub
Execute o script
Selecione a planilha e veja o resultado
Para listar diretorios e sub-diretorios, utilize o script abaixo:
Dim n As Long
Sub GerarÁrvoreCompleta()
Const strCaminho As String = "CAMINHO"
Dim fso As Object 'Scripting.FileSystemObject
Dim fld As Object 'Scripting.Folder
Set fso = CreateObject("Scripting.FileSystemObject")
Set fld = fso.GetFolder(strCaminho)
With ActiveSheet
.Cells.Delete
.Range("A1:D1") = Array("Caminho", "Nome", "Tamanho", "Modificado em")
n = 2
DescePasta fld
End With
End Sub
Private Sub DescePasta(fld As Object) 'fld As Scripting.Folder
Dim subfld As Object 'Scripting.Folder
Dim fl As Object 'Scripting.File
'Etapa 1 - Listar todos os arquivos desta Pasta.
For Each fl In fld.Files
Cells(n, "A") = fl.Path
Cells(n, "B") = fl.Name
Cells(n, "C") = fl.Size
Cells(n, "D") = fl.DateLastModified
n = n + 1
Next fl
'Etapa 2 - Recursar todas as subpastas desta pasta:
For Each subfld In fld.SubFolders
DescePasta subfld
Next subfld
End Sub
Comentários