Notifications
Clear all

Importar Arquivos TXT para Excel

5 Posts
2 Usuários
0 Reactions
1,028 Visualizações
(@fred_dgray)
Posts: 3
Active Member
Topic starter
 

Olá Pessoal,

Sou novo aqui no Forum e tenho uma questão que nao consigo desenvolver.

Gostaria de importar diversos Maillings Diários com extensão .txt em uma única planilha do Excel.
O detalhe é que os arquivos tem nomes diferentes, mas todos iniciam com "ENVIO_"
E na ultima coluna gostaria que trouxesse o nome do arquivo de origem.
Todas as planilhas possuem a mesma configuração/estrutura.

É possível?

Muito Obrigado :geek:

 
Postado : 10/04/2013 6:51 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Existem varios possibilidades de importação, porem nenhuma é totalmente genérica, sempre; ou na maioria das vezes; há alguma particularidade em cada arquivo/importação.
Se puder disponibilizar um exemplo/amostra de seu(s) arquivo(s) (se houver dados confidenciais, substitua por ficticios) ficara mais simples obter uma ajuda/resposta

 
Postado : 10/04/2013 9:19 am
(@fred_dgray)
Posts: 3
Active Member
Topic starter
 

Então, queria da seguinte forma.

Caminho dos Arquivos : C:UsersfsousaDocumentsMailling
Nome do Arquivo : ENVIO_TLM_XXXXXXXXXXXXXXXXXXXXXXX.txt (esses x o nome variam, mas sempre começa com ENVIO_TLM

Todos os Mailling são padronizados com a mesma quantidade de colunas e com os mesmos nomes.

Gostaria de executar uma Macro (VBA), que buscasse automaticamente todos os arquivos que consta dentro dessa pasta, que inseria todos os dias, e unificasse em um único arquivo, uns dados abaixo do outro.

 
Postado : 10/04/2013 1:10 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

seu tópico será movido para para um local correto!

Tente adaptar, talvez esse código possa ajuda-lo

Sub TenteAdaptar()
    
    Const strFolderPath As String = "C:Test"

    Dim FSO As Object
    Dim strFileName As String
    Dim arrText(1 To 65000) As String
    Dim TextIndex As Long
    
    Set FSO = CreateObject("Scripting.FileSystemObject")

    strFileName = Dir(strFolderPath & "*.txt")
   
    Do While Len(strFileName) > 0
        
        TextIndex = TextIndex + 1

        arrText(TextIndex) = FSO.OpenTextFile(strFolderPath & "" & strFileName).ReadAll
        
        strFileName = Dir
    Loop
    
    If TextIndex > 0 Then Range("C1").Resize(TextIndex).Value = Application.Transpose(arrText)
    
    Set FSO = Nothing
    Erase arrText
    
End Sub
 
Postado : 10/04/2013 6:11 pm
(@fred_dgray)
Posts: 3
Active Member
Topic starter
 

Olá, ajudou em partes, mas ela pega somente o primeiro arquivo e nao as demais.
Gostaria que juntasse todos os arquivos .txt que consta dentro da pasta, sempre uma embaixo da outra.

Obrigado

 
Postado : 11/04/2013 6:48 am