Compartilhar via

Identificar o número de arquivos em uma pasta de trabalho.

Anônima
2014-12-24T12:46:56+00:00

Preciso saber o número de arquivos - quaisquer extensão, .txt, .xlsm, .pdf, etc, etc -  existentes em uma determinada pasta (de trabalho...), através de macro VBA.

Encontrei dezenas de soluções na Internet e nenhuma resolveu o problema, algumas são muito complicadas (rebuscadas...) e as outras demais  não funcionam. 

Eu penso que não é difícil,  para um conhecedor de Excel, conhecer a solução. Meus conhecimentos, em Excel, não são suficientes para tanto. Antecipadamente agradeço o auxílio. Grato.

Microsoft 365 e Office | Excel | Para uso doméstico | Windows

Pergunta bloqueada. Essa pergunta foi migrada da Comunidade de Suporte da Microsoft. É possível votar se é útil, mas não é possível adicionar comentários ou respostas ou seguir a pergunta.

0 comentários Sem comentários

Resposta aceita pelo autor da pergunta

Anônima
2014-12-24T13:12:05+00:00

Olá Janderson EdvanVicente, tudo bem? 

Obrigada por colaborar com o Fórum da Microsoft.

Para obter maiores esclarecimentos sobre o seu questionamento, peço a gentileza de acessar o link abaixo que vai direcioná-lo ao MSDN, que é um fórum especialmente destinado para desenvolvedores e profissionais em TI.

:: MSDN ::

Se houver outras dúvidas relacionadas aos produtos Microsoft, por favor, volte a postar. Estamos à disposição.

Caso essa informação tenha sido útil, marque-a como resposta.

Até breve!

Esta resposta foi útil?

0 comentários Sem comentários

3 respostas adicionais

Classificar por: Mais útil
  1. Anônima
    2015-05-02T08:07:17+00:00

    Ola, ja solucienei o caso num outro site como abaixo, muito obrigado

    Tadao

    Sub ListaArquivoDoDiretorioAtual()

    Dim FS As Object, wFld As Object, wFile As Object

    Dim wFileName As String

    Dim i As Integer

    Range("a1").Select

    Set FS = CreateObject("Scripting.FileSystemObject")

    With FS

      Set wFld = .getfolder(ThisWorkbook.Path)

      For Each wFile In wFld.Files

       ' no lugar de "Nome", coloque "uma parte do nome" do arquivo desejado

        If InStr(wFile.Name, "Nome") > 0 Then

         ' MsgBox wFile.Name

          ActiveCell.Offset(i) = wFile.Name

          i = i + 1

      Next

    End With

    Set FS = Nothing

    End Sub

    Esta resposta foi útil?

    0 comentários Sem comentários
  2. Anônima
    2015-05-01T06:13:33+00:00

    Bom dia Felipe, tenho uma situacao parecida e gostaria de pegar, se possivel, uma carona.

    Testei a rotina acima exposta e funcionou muito bem, retorna a quantidade de arquivos no subdiretorio predeterminado.

    Como tenho que mudar o codigo acima para que eu possa obter uma lista dos nomes dos arquivos numa planilha, cujo nomes iniciais sao predefinidos e duas letras finais aleatorias?Por exemplo, tenho num diretorio, um arquivo de uma planilha onde desejo obter os nomes dos arquivos existentes no mesmo diretorio. O nome do arquivo desejado teria um nome tal como "Fabrica1.2015.03.**.xls" sendo que os dois ultimos **(aleatorios) seriam os dias, para que eu tenha o controle de, o arquivo de que dia esta faltando.

    Desde ja agradeco

    Tadao

    Esta resposta foi útil?

    0 comentários Sem comentários
  3. Anônima
    2014-12-30T12:25:58+00:00

    Janderson,

    Não entendi um detalhe: você quer saber a quantidade de arquivos existentes num determinado diretório ou dentro de um arquivo de Excel? É possível armazenar arquivos dentro do container de uma pasta de trabalho, mas creio esse não ser seu caso.

    Utilize a simples rotina VBA para contar a quantidade de arquivos - excluindo subpastas - de um determinado diretório (a rotina exclui arquivos de subdiretórios):

    Sub pMain()

      'Altere o caminho abaixo como desejar:

      Const csDirectory As String = "c:\temp"

      Dim fso As Object 'Scripting.FileSystemObject

      Dim fsoFolder As Object 'Scripting.Folder

      Set fso = CreateObject("Scripting.FileSystemObject")

      Set fsoFolder = fso.GetFolder(csDirectory)

      MsgBox "O diretório " & csDirectory & " possui " & fsoFolder.Files.Count & " arquivos.", vbInformation

    End Sub

    Esta resposta foi útil?

    0 comentários Sem comentários