Usuário com melhor resposta
Como alterar uma linha especifica de um arquivo TXT com VBA

Pergunta
-
Pessoal
Estou a horas procurando uma solução para alterar uma linha especifica de um arquivo TXT com VBA e não encontro solução. Estou criando uma ferramenta no VBA excel para manipular um arquivo de texto e, ao final, salva-lo com uma alteração, mas não consigo modificar o arquivo e salvar.
Vejam oque consegui:
Open CaminhoArquivo For Append As arquivo Do While Not EOF(arquivo) Line Input #arquivo, TextoProximaLinha If Posicao_Linha = Posicao_array Then Mid(TextoProximaLinha, 33, 6) = Resultado_final Print #arquivo, TextoProximaLinha = Resultado_final End If Posicao_Linha = Posicao_Linha + 1 Loop Close #arquivo
Minha expectativa era conseguir fazer a alteração na linha "Print #arquivo..." mas não está acontecendo.
Obrigada!
Respostas
-
Jeniffer Oliveira,
Pelo que eu saiba, os arquivos ".TXT" precisam ser completamente reescritos, não tem como você alterar somente uma linha no meio de muitas linhas. Isso acontece pq não é um XML, JSON ou Banco de Dados.
Você precisa ler cada linha e gravar em outro arquivo. Onde você quer alterar, gravar diferente nesse novo arquivo conforme você deseja.
Veja mais em:
==================================================
0232 – Manipulando arquivos txt via VBA – Parte 2
Sub ImportTxtFile() Dim strTextLine Dim strTextFile Dim intFileNumber 'Nome completo do arquivo a ser aberto strTextFile = "C:\USERS\ADILSON\DESKTOP\0231TXT.TXT" 'Criar numeração intFileNumber = 1 'Criar conexão com o arquivo txt Open strTextFile For Input As #intFileNumber 'Loop para percorrer as linhas do arquivo até o seu final Do While Not EOF(intFileNumber) Line Input #intFileNumber, strTextLine Loop 'Fechar a conexão com o arquivo Close #intFileNumber End Sub
https://usuariosdoexcel.wordpress.com/2016/03/16/0228-manipulando-arquivos-txt-via-vba-parte-2/
==================================================
VBA – Lendo um arquivo texto linha a linha (sem FileSystemObject)
https://www.tomasvasquez.com.br/blog/microsoft-office/vba-lendo-um-arquivo-texto-linha-a-linha-sem-filesystemobject/
==================================================
[Resolvido] Como ler arquivos TXT no VBA ? - Visual Basic ...
https://forum.imasters.com.br/topic/357818-resolvido%C2%A0como-ler-arquivos-txt-no-vba/
==================================================
[]'s,
Fabio I.- Sugerido como Resposta IgorFKModerator quinta-feira, 9 de janeiro de 2020 16:28
- Marcado como Resposta Jeniffer Oliveira terça-feira, 14 de janeiro de 2020 01:26
- Editado Fabio I terça-feira, 14 de janeiro de 2020 09:29
Todas as Respostas
-
Jeniffer Oliveira,
Pelo que eu saiba, os arquivos ".TXT" precisam ser completamente reescritos, não tem como você alterar somente uma linha no meio de muitas linhas. Isso acontece pq não é um XML, JSON ou Banco de Dados.
Você precisa ler cada linha e gravar em outro arquivo. Onde você quer alterar, gravar diferente nesse novo arquivo conforme você deseja.
Veja mais em:
==================================================
0232 – Manipulando arquivos txt via VBA – Parte 2
Sub ImportTxtFile() Dim strTextLine Dim strTextFile Dim intFileNumber 'Nome completo do arquivo a ser aberto strTextFile = "C:\USERS\ADILSON\DESKTOP\0231TXT.TXT" 'Criar numeração intFileNumber = 1 'Criar conexão com o arquivo txt Open strTextFile For Input As #intFileNumber 'Loop para percorrer as linhas do arquivo até o seu final Do While Not EOF(intFileNumber) Line Input #intFileNumber, strTextLine Loop 'Fechar a conexão com o arquivo Close #intFileNumber End Sub
https://usuariosdoexcel.wordpress.com/2016/03/16/0228-manipulando-arquivos-txt-via-vba-parte-2/
==================================================
VBA – Lendo um arquivo texto linha a linha (sem FileSystemObject)
https://www.tomasvasquez.com.br/blog/microsoft-office/vba-lendo-um-arquivo-texto-linha-a-linha-sem-filesystemobject/
==================================================
[Resolvido] Como ler arquivos TXT no VBA ? - Visual Basic ...
https://forum.imasters.com.br/topic/357818-resolvido%C2%A0como-ler-arquivos-txt-no-vba/
==================================================
[]'s,
Fabio I.- Sugerido como Resposta IgorFKModerator quinta-feira, 9 de janeiro de 2020 16:28
- Marcado como Resposta Jeniffer Oliveira terça-feira, 14 de janeiro de 2020 01:26
- Editado Fabio I terça-feira, 14 de janeiro de 2020 09:29
-