Como utilizar o Excel Filedialog para obter a lista de arquivos de um diretório

Escrito por brian valle | Traduzido por francisco de castro
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como utilizar o Excel Filedialog para obter a lista de arquivos de um diretório
Crie, edite, remova, monitore e mova pastas do computador com Excel VBA (Hemera Technologies/Photos.com/Getty Images)

O Microsoft Excel não é apenas sobre os dados tabulares, cálculos e gerenciamento de informações. Qualquer usuário ávido pode transformar o Excel em uma poderosa ferramenta para o gerenciamento de pastas, organização de arquivos e manter o controle de tarefas. Pode-se criar uma macro que utiliza um objeto FileDialog do VBA para digitalizar rapidamente um diretório e listar o seu conteúdo em uma planilha. Após a execução, esse macro pedirá aos usuários para escolher uma pasta, e ela listará posteriormente os nomes dos conteúdos em uma única coluna.

Nível de dificuldade:
Moderado

Outras pessoas estão lendo

Instruções

    Criando a macro

  1. 1

    Inicie o Microsoft Excel. Pressione "CTRL + O", selecione a pasta de trabalho e, em seguida, clique em "Open" (Abrir). Para criar uma nova pasta de trabalho em vez disso, pressione "CTRL + N".

  2. 2

    Pressione "ALT + F8" para abrir a caixa de diálogo das macros. Digite "GetFolderContents" (Obtenha o conteúdo da pasta) dentro da caixa de nome da macro e, em seguida, clique em "Create" (Criar).

  3. 3

    Escreva o código a seguir no editor VBA:

    Sub GetFolderContents() Dim xDir, xFilename, f, fso As Object Set fso = CreateObject("Scripting.FileSystemObject") With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = ThisWorkbook.Path & "\" .Title = "Select a folder to list files from" .AllowMultiSelect = False .Show If .SelectedItems.Count <> 0 Then xDir = .SelectedItems(1) & "\" End If End With If (MsgBox(Prompt:="Você gostaria de incluir o nome das subpastas?", _ Buttons:=vbYesNo, Title:="Incluir subpastas") = vbYes) Then GoTo ListFolders GoTo ListFiles Else GoTo ListFiles End If ListFolders: For Each f In fso.GetFolder(xDir).SubFolders ActiveCell.Value = "..\" & f.Name ActiveCell.Offset(1, 0).Select Next f ListFiles: For Each f In fso.GetFolder(xDir).Files ActiveCell.Value = f.Name ActiveCell.Offset(1, 0).Select Next f Set fso = Nothing End Sub

  4. 4

    Pressione "ALT + Q" para fechar o editor VBA e retornar para a pasta de trabalho.

    Utilizando a macro

  1. 1

    Selecione uma célula da folha. Pressione a tecla "ALT + I" e "C" para criar uma coluna em branco. Selecione a primeira célula da nova coluna. Caso queria exibir a lista em uma nova planilha em vez disso, pressione "SHIFT + F11".

  2. 2

    Pressione "ALT + F8" para abrir a caixa de diálogo das macros. Selecione "GetFolderContents" e, em seguida, clique em "Run" (Executar).

  3. 3

    Selecione a pasta ou o diretório a partir da qual gostaria de listar o conteúdo. Clique em "OK".

  4. 4

    Clique em "Yes" (Sim) se quiser que a macro também liste os nomes das subpastas, ou clique em "No" (Não) para listar somente os arquivos. Aguarde o Excel terminar de preencher a nova coluna com o conteúdo da pasta selecionada.

Dicas & Advertências

  • Por padrão, as macros estão desativadas no Microsoft Excel. Para ativá-las, clique no botão Microsoft Office e, em seguida, vá em "Excel Options" (Opções do Excel). Certifique-se de que a "Show Developer Tab" (Mostrar a guia do desenvolvedor) está marcada. Vá em "Trust Center" (Central de confiabilidade) e depois clique em "Trust Center Settings" (Configurações da central de confiabilidade). Vá em "Macro Settings" (Configurações da macro) e depois escolha "Enable all macros" (Habilitar todas as macros). Clique em "OK" em ambas as janelas, salve todas as pastas de trabalhos abertas e reinicie o Excel.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível