Ajuda - Busca - Membros - Calendário
Versão Completa: IMPORTACAO ARQUIVO TEXTO
Fórum Script Brasil > Programação & Desenvolvimento > Visual Basic > VBA
DANYY
Bom dia! Tenho um arquivo texto onde preciso exportar as informações e gravar em um outro arquivo texto.

O arquivo tem a seguinte estrutura:

L,01/01/2011,0000000001,001
I,0001,01,10009,30156, ,D,000000070622.49,RECEITA DE PASSAGENS NO DIA
I,0002,01,30156,10009, ,C,000000070622.49,RECEITA DE PASSAGENS NO DIA
L,03/01/2011,0000000019,001
I,0001,01,23285,10009, ,D,000000042791.66,PG V.R.G PARC.6/48 CTR.75.410.015-4 A B SAFRA S/A
I,0002,01,23285,10009, ,D,000000006827.93,PG C.PREST.PC.6/48 CTR.75.410.015-4 A B SAFRA S/A
I,0003,01,23285,10009, ,D,000000000017.11,PG ISS PARC 6/48 CTR.75.410.015-4 A B SAFRA S/A
I,0004,01,10009, , ,C,000000049636.70,PG C.PREST.PC.6/48 75.410.015-4 A B SAFRA S/A
L,03/01/2011,0000000021,001
I,0001,01,40181,10009, ,D,000000001400.00,PG AJUSTE REG DE SINISTROS LTDA NF.0147 A B SAFRA S/A
I,0002,01,10009,40181, ,C,000000001400.00,PG AJUSTE REG DE SINISTROS LTDA NF.0147 A B SAFRA S/A

Os registros iniciados por L representam o registro do lançamento, e os registros I representam os registros dos Itens dos lançamentos.

então no decorrer do arquivo existe registro de lançamentos que pode ter mais de dois itens e quando ocorrer esse caso o arquivo texto 2 onde sera gravado essas informacoes o primeiro registro deve ser LC2, e quando tiver só dois itens deve ser gravado como LC1.

Fiz o codigo da seguinte forma:

Dim arq1 As String
Dim arq2 As String
Dim s As String
Dim reg As String
Dim modelo As String


Private Sub Command1_Click()
arq1 = FreeFile
Open "C:\IMPORTA\MOVIMENTO.TXT" For Input As #arq1
arq2 = FreeFile
Open "C:\IMPORTA\ctblctos1108.txt" For Output As #arq2
Do While Not EOF(arq1)
Line Input #arq1, s

reg = Mid(s, 1, 1)

If reg = L Then
modelo = "LC1"
Else
modelo = "LC2"
End If


Print #arq2, modelo

Loop

Close #arq1
Close #arq2



End Sub

Mais dessa forma no arquivo texto 2 esta gravando para todos os registros de lançamento "L" LC1 e para todos os registros "I" LC2.. Gostaria de fazer com que quando no registro I tiver mais de dois itens definir o registro no arquivo 2 como LC2 quando não como LC1, e não sei como fazer isso..

Desde já agradeço!

Sonnel
Você postou o arquivo de entrada.

Se puder postar a estrutura do arquivo de saída, vai ser mais fácil entender como o arquivo deve ser gravado.
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2012 Invision Power Services, Inc.