O Excel VBA permite que obtenhamos um lista dos arquivos contidos em uma pasta, inserinda-a na planilha.
Também podemos recuperar algumas informações destes arquivos se necessário. Este código VBA listará os nomes e data da última atualização.
Como isso funciona?
A caixa de diálogo de seleção de pasta é usada para tornar mais fácil para o usuário selecionar o local desejado, retornando os arquivos.
A função Dir será usada para retornar cada nome de arquivo da pasta ou diretório.
Este código retornará listando todos os arquivos Excel contidos na pasta. Especificamos isso ao usar *. XLS na função Dir. O curinga e a extensão podem ser alterados para listar todos os arquivos que desejarmos, ou omitir inteiramente alguns arquivos desta.
O método FileDateTime foi usado para capturar a data de criação ou modificação.
Sub ImportFileList()Dim MyFolder As String 'Store the folder selected by the usingDim FiletoList As String 'store the name of the file ready for listingDim NextRow As Long 'Store the row to write the filename toOn Error Resume NextLet Application.ScreenUpdating = False'Display the folder picker dialog box for user selection of directoryWith Application.FileDialog(msoFileDialogFolderPicker)Let .Title = "Please select a folder".ShowLet .AllowMultiSelect = FalseIf .SelectedItems.Count = 0 ThenMsgBox "You did not select a folder"Exit SubEnd IfLet MyFolder = .SelectedItems(1) & "\"End With'Dir finds the first Excel workbook in the folderLet FiletoList = Dir(MyFolder & "*.xls")Let Range("A1").Value = "Filename"Let Range("B1").Value = "Date Last Modified"Let Range("A1:B1").Font.Bold = True'Find the next empty row in the listLet NextRow = Application.CountA(Range("A:A")) + 1'Do whilst the dir function returns an Excel workbookDo While FiletoList <> ""Let Cells(NextRow, 1).Value = FiletoList 'Write the filename into the next available cellLet Cells(NextRow, 2).Value = FileDateTime(MyFolder & FiletoList) 'Write the date the cell was last modifiedLet NextRow = NextRow + 1 'Move to next rowLet FiletoList = Dir 'Dir returns the next Excel workbook in the folderLoopLet Application.ScreenUpdating = TrueEnd Sub
Tags: Excel, VBA, Files, Folder, list, Dir, filedatetime, xls, xlsm, xlsb,