Notifications
Clear all

Indentificar quantos e quais arq estão em uma determ. pasta

5 Posts
3 Usuários
0 Reactions
1,124 Visualizações
(@wolneypk)
Posts: 188
Reputable Member
Topic starter
 

Senhores estou tentando desenvolver uma ferramenta que funcione da seguinte maneira:

Exemplo
Tenho a Plan1 que esta na pasta "Orçamento" e em determinado momento, ao clicar em um botão, eu ativo uma macro que vá contar quantos arquivos de Excel existem na pasta "Vales" e seus respectivos nomes.
Com essa informação em mãos, a macro começa a abrir individualmente esses arquivos e copiar a celula A1 de cada um deles e colar na Plan1 da pasta "Orçamentos"

A minha grande dificuldade é essa: Nunca vou saber ao certo quantos arquivos existem na pasta "Vales" e nem seus respectivos nomes.
Preciso de uma macro que faça essa identificação!
A parte de copiar e colar as informações eu até consigo fazer de boa, mais esse lance de identificar quantos arquivos e quais são os seus nomes... isso que está matando.

Alguém faz ideia de como resolver isso?
Detalhe: O processo tem que ser automático.
Tipo, não adianta listar os arquivos em uma Listbox para o usuário ir selecionando os arquivos. A macro tem que identificar tudo por si própria.

 
Postado : 11/06/2013 11:47 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Cara, isso é mta coisa pra mim, faço a menor idéia usando VBA (nem sei se é possível)

Entretanto, rodando o batch em anexo na pasta, vc gera um txt (lista.txt) com todos os arquivos excel da pasta. A partir dele deve ser mais fácil importar os nomes para o excel.

Espero que possa ajudar.

 
Postado : 11/06/2013 12:00 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde,

Veja se este exemplo de código te ajuda:

Sub ListarCopiarArquivos()
    Dim Pasta As String
    Dim Arquivo As String
    Dim Qtde As Integer
    
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Show
        Pasta = .SelectedItems(1)
    End With
    
    Qtde = 0
    Arquivo = Dir(Pasta & "*.xls")
    Do
        Workbooks.Open Pasta & "" & Arquivo
        ThisWorkbook.ActiveSheet.Range("A" & Cells.Rows.Count).End(xlUp).Offset(1, 0).Value = Arquivo
        ThisWorkbook.ActiveSheet.Range("B" & Cells.Rows.Count).End(xlUp).Offset(1, 0).Value = ActiveSheet.[A1].Value
        Workbooks(Arquivo).Close False
        Qtde = Qtde + 1
        Arquivo = Dir
    Loop While Arquivo <> ""
    [C1].Value = Qtde
    MsgBox "Fim de Execução da Macro"
End Sub

Abraço

 
Postado : 11/06/2013 12:12 pm
(@wolneypk)
Posts: 188
Reputable Member
Topic starter
 

Então gtsalikis, eu até consegui uma maneira de listar todos os arquivos de uma pasta.
Tipo, a macro ao ser executada, ela exibe através de Msgbox's o nome de todos os arquivos de uma determinada folder.
Consegui isso no fórum do nosso amigo Tomás Velásquez: http://www.tomasvasquez.com.br/blog/mic ... -diretorio

Mais mesmo com essa dica nas mãos, não consegui montar o que preciso...

Mais mesmo assim agradeço a dica man!

 
Postado : 11/06/2013 12:16 pm
(@wolneypk)
Posts: 188
Reputable Member
Topic starter
 

JValq, PERFEITO cara!
Não poderia ser melhor man!

Muito obrigado mesmo mestre!
Sem essa ajuda o projeto estaria fadado á boa e velha gambiarra! kkkkkkkk
Forte abraço amigos e tenham uma ótima tarde

 
Postado : 11/06/2013 12:51 pm