Notifications
Clear all

importar arquivo TXT de forma automática para Planilha

3 Posts
2 Usuários
0 Reactions
972 Visualizações
(@federall)
Posts: 2
New Member
Topic starter
 

Galera, Meu Primeiro Post aqui fórum, recentemente surgiu uma ideia de importar um arquivo TXT de uma pasta qualquer do meu computador para a planilha do Excel, até ai tudo bem...
porém este arquivo TXT é um arquivo que fica atualizando constantemente, sendo assim gostaria que essas informações fossem transferidas para a planilha, mantendo as atualizações do arquivo. Sendo assim gostaria de saber como importar o arquivo TXT de forma automática, ficando na mesma tabela da planilha Excel os dados mais recentes do arquivo TXT? O Objetivo final é eu adicionar uma Macro para que me envia por e-mail as ultimas atualizações feita na planilha.
Ficaria bem agradecido se alguém conseguir me ajudar!

Grato; Ronaldo.

 
Postado : 14/12/2017 10:17 pm
(@klarc28)
Posts: 971
Prominent Member
 

https://www.youtube.com/results?search_query=vba+importar+txt

https://social.msdn.microsoft.com/Forums/pt-BR/e92378e5-5457-4893-ae87-8cf9839e6e74/importar-arquivo-txt-para-o-excel-usando-vba?forum=vbapt

http://excelpratico.com/vba-como-automatizar-importacao-de-dados-txt/

Option Explicit

Sub ImportTxtFile()
    
    Dim strTextLine         As String
    Dim strTextFile         As String
    Dim strSplitedLine()    As String
    Dim intFileNumber       As Integer
    Dim intElementCount     As Integer
    Dim lngRowCount         As Long
    Dim wksOutput           As Worksheet
    Dim varFieldValue       As Variant
    Dim ARQUIVO         As Integer
   
    
    'Contador de linhas de planilha
  '  lngRowCount = 1
    
    'Definir a planilha que receberá as informações
    Set wksOutput = ThisWorkbook.Sheets("Planilha1")
    Dim LINHA As Long
    'LINHA ONDE COMEÇAM OS DADOS NA PLANILHA
    LINHA = 2
    'VARIÁVEL PARA CONTROLAR SE ACHOU O REGISTRO
    Dim ACHOU As Boolean
    'PERCORRE AS LINHAS DA PLANILHA
    'ENQUANTO NÃO ACHAR CÉLULA EM BRANCO
    While wksOutput.Cells(LINHA, 1) <> ""
        'Configura a leitura do arquivo

     ARQUIVO = FreeFile
    'Nome completo do arquivo a ser aberto
    strTextFile = "C:UsersANDERSONDocumentsTESTE23.txt"
    
    'Criar numeração
  '  intFileNumber = 1
    
    'Criar conexão com o arquivo txt
    Open strTextFile For Input As ARQUIVO
    'NÃO ENCOTROU REGISTRO
        ACHOU = False
        'Loop para percorrer as linhas do arquivo até o seu final
        Do While Not EOF(ARQUIVO) And ACHOU = False
            
            'Transferir as informações para a variável strTextLine
            Line Input #ARQUIVO, strTextLine
            
            'Evitar a importação da linha de separação com sinais "="
            ' If Left(strTextLine, 1) <> "=" Then
            
            'Transferir o elementos de strTextFile para a matriz strSplitedLine
            strSplitedLine = Split(strTextLine, vbTab)
            'VERIFICAR SE O VALOR DA COLUNA 1 DA PLANILHA
            'É IGUAL AO VALOR DA COLUNA1 DO TXT
            If strSplitedLine(0) = CStr(wksOutput.Cells(LINHA, 1).Value) Then
              
                wksOutput.Cells(LINHA, 2).Value = strSplitedLine(1)
                'PREENCHER A COLUNA 3 DA PLANILHA
                wksOutput.Cells(LINHA, 3).Value = strSplitedLine(2)
                ACHOU = True
                ' Next intElementCount
                
                'Incrementar o contador de linhas
                '   lngRowCount = lngRowCount + 1
                
            End If
        Loop
        
        'Fechar a conexão com o arquivo
        Close ARQUIVO
        LINHA = LINHA + 1
    Wend
End Sub
 
Postado : 14/12/2017 10:22 pm
(@federall)
Posts: 2
New Member
Topic starter
 

Obrigado amigo pela resposta só que esta macro não está abrindo o arquivo texto.

 
Postado : 14/12/2017 10:41 pm