Notifications
Clear all

Editar TXT antes de importar - VBA

6 Posts
3 Usuários
0 Reactions
1,785 Visualizações
(@campocmi)
Posts: 8
Active Member
Topic starter
 

Olá amigos
Preciso de uma macro para importar um txt para o excel, mas antes de importar preciso deletar o prefixo "15000" da coluna "Chave de tabela".
Exemplo
Antes: "15000663855500009"
Depois: "663855500009"

O txt possui o formato abaixo:

Documentos de modificação

Valor do objeto 1º nome Sobrenome Data Hora CódT Tabela Chave de tabela Val.antigo Valor novo Cód.modif.

15030000140922662 LUCAS KOBAL SARDELA 01.04.2016 08:38:20 IW32 RESB 15000663855500009 I
15030000140922662 LUCAS KOBAL SARDELA 01.04.2016 08:38:20 IW32 RESB 15000663855500010 I
15030000140922662 LUCAS KOBAL SARDELA 01.04.2016 08:38:20 IW32 RESB 15000663855500011 I

Desde já obrigado.

 
Postado : 07/04/2016 12:05 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Disponibilize a planilha, o TXT e o codigo que esta usando atualmente.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 07/04/2016 12:09 pm
(@campocmi)
Posts: 8
Active Member
Topic starter
 

A planilha tem 58Mb, posso enviar? Segue o txt.

O código abaixo achei na internet e adaptei.

Option Explicit
 
Public Sub LeArquivoTexto()
    Dim Arquivo As Integer
    Dim CaminhoArquivo As String
    Dim TextoArquivo As String
    Dim TextoProximaLinha As String
    Dim ContadorLinha As Long
 
    'Configura a leitura do arquivo
    Arquivo = FreeFile
    CaminhoArquivo = "C:UserscamilofcDocumentsSAPSAP GUI111111111.TXT"
 
    'Abre o arquivo para leitura
    Open CaminhoArquivo For Input As Arquivo
    ContadorLinha = 1
    'Lê o conteúdo do arquivo linha a linha
    Do While Not EOF(Arquivo)
        Line Input #Arquivo, TextoProximaLinha
        TextoProximaLinha = TextoProximaLinha & vbCrLf
        TextoArquivo = TextoArquivo & TextoProximaLinha
            Debug.Print TextoArquivo
    Loop
     
    'Coloca na janela de verificação imediata
    Debug.Print TextoArquivo
 
    'Fecha o arquivo
    Close Arquivo
 
End Sub
 
Postado : 07/04/2016 1:38 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Acho q e obvio que vc precisa enviar o arquivo com o que interessa

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 07/04/2016 1:47 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

A rotina disponibilizada, apena lê o arquivo, sem importa-lo para planilha.
Para ler, eliminando o valor desejado experimente

Public Sub LeArquivoTexto()
Dim Arquivo As Integer
Dim CaminhoArquivo As String, TextoArquivo As String, TextoProximaLinha As String
Dim ContadorLinha As Long

'Configura a leitura do arquivo
Arquivo = FreeFile
CaminhoArquivo = "C:UserscamilofcDocumentsSAPSAP GUI111111111.TXT"
'Abre o arquivo para leitura
Open CaminhoArquivo For Input As Arquivo
ContadorLinha = 1
'Lê o conteúdo do arquivo linha a linha
Do While Not EOF(Arquivo)
    Line Input #Arquivo, TextoProximaLinha
        
    If TextoProximaLinha Like "*15000*" Then
        TextoProximaLinha = Replace(TextoProximaLinha, 15000, "", 1, , vbTextCompare)
        Debug.Print TextoProximaLinha
    End If
    
    TextoProximaLinha = TextoProximaLinha & vbCrLf
    TextoArquivo = TextoArquivo & TextoProximaLinha
    Debug.Print TextoArquivo
Loop
     
'Coloca na janela de verificação imediata
Debug.Print TextoArquivo

'Fecha o arquivo
Close Arquivo

End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 07/04/2016 2:14 pm
(@campocmi)
Posts: 8
Active Member
Topic starter
 

Muito bom. É isso que preciso. Agora falta Salvar o txt alterado na pasta "C:UserscamilofcDocumentsSAPReservador".

 
Postado : 11/04/2016 7:35 am