Notifications
Clear all

Ler arquivo Txt ( Do until EOF())

3 Posts
2 Usuários
0 Reactions
1,298 Visualizações
(@mgonzaga)
Posts: 10
Eminent Member
Topic starter
 

Estou utilizando o código abaixo para ler um arquivo em TXT linha a linha, porém

quando chega na linha que tem caractere especial, o código é interrompido.

Gostaria de uma ajuda para tratar esse erro.

 

Na situação demonstrada no txt o caractere especial está localizado na linha 44

SUPERFCIE

Sub Ler_Arquivo_Texto()
  caminhoArq = "D:\USERS\mgonzaga\Desktop\teste\teste maik.txt"
  Open caminhoArq For Input As #1
    lin = 1
    Do Until EOF(1)
      Line Input #1, valorLin
      Cells(lin, 1).Value = valorLin
      lin = lin + 1
    Loop
  Close #1
End Sub
 
___________________________________
Editado pela Moderação. Motivo: Procure utilizar o botão Código (< >) sempre que for inserir código VBA ou Fórmulas.
 
Postado : 27/01/2023 4:53 pm
Tags do Tópico
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Uma possibilidade, carregando todo o conteúdo numa variável de uma só vez, sem loop pelas linhas:

Sub Ler_Arquivo_Texto()
  CaminhoArq = "D:\USERS\mgonzaga\Desktop\teste\teste maik.txt"
  ConteudoArq = CreateObject("Scripting.FileSystemObject").OpenTextFile(CaminhoArq, 1).ReadAll
  ConteudoArq = Application.Transpose(Split(ConteudoArq, vbCrLf))
  Range("A1").Resize(UBound(ConteudoArq)).Value = ConteudoArq
End Sub

 
Postado : 28/01/2023 8:31 pm
(@mgonzaga)
Posts: 10
Eminent Member
Topic starter
 

@edsonbr Muito obrigado pela atenção. Me deparei com outro problema, a variável aceita somente até 37.000 Linhas , mas vou abrir arquivos de até 4 Milhões de linhas.

Tentei Definir como outras variáveis, porém não deu certo.

Poderia me ajudar?

Este post foi modificado 2 anos atrás por mgonzaga
 
Postado : 30/01/2023 12:22 pm