Esqueceu sua senha? Você pode usar o mecanismo de lembrete neste link: Recuperar senha

Você receberá um link de reativação no email cadastrado.

Não recebeu o email? Lembre-se checar o Lixo Eletrônico.

Concatenar importação de arquivo Texto (*txt) | Arquivo com Quebras

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
DANIELDDK
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Sáb Mai 11, 2019 5:15 pm

Concatenar importação de arquivo Texto (*txt) | Arquivo com Quebras

Mensagem por DANIELDDK » Ter Mai 19, 2020 9:55 pm

Prezados, boa noite, tudo bem?
Encontrei uma fórmula aqui no fórum e resolvi adaptá-la a minha necessidade, acontece que tenho o arquivo txt em anexo, e quando importo pela formula que adaptei, creio que ele foi desenvolvido para até duas quebras de linha no arquivo texto e o que tento importar possui três quebras, desta forma ele duplica a importação,trazendo primeiro a quebra 1 + quebra 2 e em seguida importa todas as quebras na próxima linha.

Desta forma, gostaria de ajuda para adaptá-la e assim conseguir importar concatenando mais de 2 quebras, pois preciso da linha que concatena as 3.

Todo inicio do próximo arquivo a ser concatenado é "*|".

Segue o código que utilizei:

Sub ArquivoTXT()
Dim Arquivo As String
Dim Linha As String
Dim LinhaCompleta As String
Dim i As Long

Arquivo = Application.GetOpenFilename

Open Arquivo For Input As #1
i = 1
While Not EOF(1)

Line Input #1, Linha
'Verifica se tem ("*|") nas 3 primeiras posições da linha e "inicia" uma nova linha "completa"
If InStr(1, Linha, "*|", vbTextCompare) > 0 And InStr(1, Linha, "*|", vbTextCompare) < 3 Then
LinhaCompleta = Linha

Else
'Caso não tenha *| concatena a linha atual com a anterior
If Not Mid(Linha, 1, 2) = "|" Then

LinhaCompleta = LinhaCompleta & Linha
Sheets("Exportacao").Activate
Cells(i, 1).Value = LinhaCompleta
'incrementa a variável que controla a quantidade de linhas
i = i + 1



End If
End If
Wend
Close
'Coloca na janela de verificação imediata
Debug.Print LinhaCompleta

End Sub[*]
Fopag.zip
(614 Bytes) Baixado 6 vezes



Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


ricosv@hotmail.com
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Sex Mai 22, 2020 2:39 pm

Re: Concatenar importação de arquivo Texto (*txt) | Arquivo com Quebras

Mensagem por ricosv@hotmail.com » Dom Mai 24, 2020 11:54 am

Não sei se entendi bem. Você tem um arquivo .txt com 3 quebras de linha, você quer separar esses dados em 3 linhas. Se for isso o código tem 2 erros. Segue o código ajustado.

Código: Selecionar todos

Sub ArquivoTXT()
Dim Arquivo As String
Dim Linha As String
Dim LinhaCompleta As String
Dim i As Long

Arquivo = Application.GetOpenFilename

Open Arquivo For Input As #1
i = 0
While Not EOF(1)
    Line Input #1, Linha
    'Verifica se tem ("*|") nas 3 primeiras posições da linha e "inicia" uma nova linha "completa"
    If InStr(1, Linha, "*|", vbTextCompare) > 0 And InStr(1, Linha, "*|", vbTextCompare) < 3 Then
        LinhaCompleta = Linha
        i = i + 1
    Else
        'Caso não tenha *| concatena a linha atual com a anterior
        If Not Mid(Linha, 1, 2) = "|" Then
            LinhaCompleta = LinhaCompleta & Linha
            Sheets("Plan1").Activate
            Cells(i, 1).Value = LinhaCompleta
            'incrementa a variável que controla a quantidade de linhas
            'i = i + 1
        End If
    End If
Wend
Close
'Coloca na janela de verificação imediata
Debug.Print LinhaCompleta

End Sub
Tem maneiras melhores de importar esse arquivos .txt, criando varias colunas com os dados de nome, função e etc



Responder