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..
Pergunta
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!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.