Excel – Listar arquivos em diretório num ListBox

Acho que desenterrei essa. Mas o que seria da vida sem um pouco de saudosismo? Como idade não define utilidade, aí vai mais um código que pode servir de ajudar para aquele seu aplicativo bacana em Excel VBA. A ideia é ter acesso fácil a lista de arquivos de um determinado diretório. De aí em diante, as possibilidades são inúmeras. O form não poderia ser mais simples:

For Lista Arquivos Diretório
For Lista Arquivos Diretório

O código do botão ListarArquivos:

Private Sub cmdListaArquivos_Click()
    lstArquivos.Clear
    Dim arquivos() As String
    Dim lCtr As Long
    arquivos = ListaArquivos(txtCaminho.Text)
    For lCtr = 0 To UBound(arquivos)
      lstArquivos.AddItem arquivos(lCtr)
    Next
End Sub

E por fim, o código que faz o trabalho:

Option Explicit
 
Public Function ListaArquivos(ByVal Caminho As String) As String()
 
'Atenção: Faça referência à biblioteca Micrsoft Scripting Runtime
Dim FSO As New FileSystemObject
Dim result() As String
Dim Pasta As Folder
Dim Arquivo As File
Dim Indice As Long
 
ReDim result(0) As String
If FSO.FolderExists(Caminho) Then
    Set Pasta = FSO.GetFolder(Caminho)
 
    For Each Arquivo In Pasta.Files
      Indice = IIf(result(0) = "", 0, Indice + 1)
      ReDim Preserve result(Indice) As String
      result(Indice) = Arquivo.Name
    Next
End If
 
ListaArquivos = result
ErrHandler:
    Set FSO = Nothing
    Set Pasta = Nothing
    Set Arquivo = Nothing
End Function
 
Public Sub AbreForm()
    UserForm1.Show
End Sub
 
Public Sub VerCodigo()
    Application.Goto Reference:="AbreForm"
End Sub

Pressionado o botão Listar Arquivos em uma pasta do seu computador, temos algo parecido com isso:

For Lista Arquivos Diretório Preenchido
For Lista Arquivos Diretório Preenchido

Download do arquivo:

ListaArquivosDiretorio.zip
(10.67 KiB)

Bom proveito!

Comentários

comentários