Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Com importar arquivo TXT para excel em colunas específicas
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Seg Abr 27, 2015 9:57 am
Com importar arquivo TXT para excel em colunas específicas
Caros, preciso de ajuda para importar um arquivo TXT que é um retorno bancário que recebo da Caixa Econômica Federal para o excel.
O arquivo é bem grande e é dividido em cabeçalho de arquivo (1º linha do arquivo), detalhes do lote (2º linha até a antepenúltima linha), e final de arquivo (2 últimas linhas). Cada linha possui 240 caracteres.
Para facilitar, segue como exemplo o arquivo retorno.txt com o seguinte conteúdo (42 caracteres por linha).
retorno.txt:
000999922333444000199104244400012121200001
000127042015999912345678900000000012000001
000227042015999912345678900000000018000001
000327042015999912345678900000000001500099
1º linha é o cabeçalho:
0009999 - posição [1-7] - nº convênio
22333444000199 - posição [8-21] - cnpj
104 - posição [22-24]....: - codigo do banco
2444 - posição [25-28]...: - codigo da agencia
0001212120 - posição [29-38]..: - conta debito
0001 - posição [38-42] - nº do lote
2ª linha em diante é o detalhamento do lote:
0001 - posição [1-4] - Código do agendamento
27042015 - posição [5-12] - Data de pagamento
9999 - posição [13-16] - Nº do Convênio
12345678900 - posição [17-27] - CPF do Beneficiário
0000000120000 - posição [28-40] - Valor a pagar
01 - posição [41 e 42] - Controle (01 = Pago, 99 = Não pago)
Como fazer uma Função em VBA que leia o arquivo retorno.txt e coloque cada informação em suas colunas específicas, conforme abaixo?
ITEM....... DATA ..........Nº CONVÊNIO .............CPF DO BENEFICIÁRIO............... VALOR PAGO.......... CONTROLE
0001 ....27/04/2015 .........9999 .......................12345678900 .......................R$1.200,00 ............Pago
0002 ....27/04/2015 .........9999 .......................12345678900 .......................R$1.800,00 ............Pago
0003 ....27/04/2015 .........9999 .......................12345678900 .......................R$ 150,00 ............Não Pago
obs.: na COLUNA CONTROLE informar "Pago" ou "Não Pago" ao invés de 01 ou 99.
Já fiz uma função que cria um arquivo texto (REMESSA BANCÁRIA) a partir de uma planilha no excel, mas não estou conseguindo processar os retorno recebidos da instituição financeira.
Desde já, agradeço a ajuda de vocês. Obrigado.
O arquivo é bem grande e é dividido em cabeçalho de arquivo (1º linha do arquivo), detalhes do lote (2º linha até a antepenúltima linha), e final de arquivo (2 últimas linhas). Cada linha possui 240 caracteres.
Para facilitar, segue como exemplo o arquivo retorno.txt com o seguinte conteúdo (42 caracteres por linha).
retorno.txt:
000999922333444000199104244400012121200001
000127042015999912345678900000000012000001
000227042015999912345678900000000018000001
000327042015999912345678900000000001500099
1º linha é o cabeçalho:
0009999 - posição [1-7] - nº convênio
22333444000199 - posição [8-21] - cnpj
104 - posição [22-24]....: - codigo do banco
2444 - posição [25-28]...: - codigo da agencia
0001212120 - posição [29-38]..: - conta debito
0001 - posição [38-42] - nº do lote
2ª linha em diante é o detalhamento do lote:
0001 - posição [1-4] - Código do agendamento
27042015 - posição [5-12] - Data de pagamento
9999 - posição [13-16] - Nº do Convênio
12345678900 - posição [17-27] - CPF do Beneficiário
0000000120000 - posição [28-40] - Valor a pagar
01 - posição [41 e 42] - Controle (01 = Pago, 99 = Não pago)
Como fazer uma Função em VBA que leia o arquivo retorno.txt e coloque cada informação em suas colunas específicas, conforme abaixo?
ITEM....... DATA ..........Nº CONVÊNIO .............CPF DO BENEFICIÁRIO............... VALOR PAGO.......... CONTROLE
0001 ....27/04/2015 .........9999 .......................12345678900 .......................R$1.200,00 ............Pago
0002 ....27/04/2015 .........9999 .......................12345678900 .......................R$1.800,00 ............Pago
0003 ....27/04/2015 .........9999 .......................12345678900 .......................R$ 150,00 ............Não Pago
obs.: na COLUNA CONTROLE informar "Pago" ou "Não Pago" ao invés de 01 ou 99.
Já fiz uma função que cria um arquivo texto (REMESSA BANCÁRIA) a partir de uma planilha no excel, mas não estou conseguindo processar os retorno recebidos da instituição financeira.
Desde já, agradeço a ajuda de vocês. Obrigado.
Re: Com importar arquivo TXT para excel em colunas específic
Rafael, bom dia.
Fiz um modelo simples para importação de arquivo TXT com largura delimitada, considerando as informações enviadas por você, porém considerei somente o registro detalhe.
Entendo que agora é só você adaptar levando em considerações que seu arquivo retorno está estruturado da seguinte forma:
- Header do Arquivo;
- Registro Detalhe (aqui pode ter mais de um segmento);
- Trailer (as duas últimas linhas finais);
Espero ter ajudado.
Fonte de informação para criar o modelo:
https://social.msdn.microsoft.com/Forum ... orum=vbapt
Fiz um modelo simples para importação de arquivo TXT com largura delimitada, considerando as informações enviadas por você, porém considerei somente o registro detalhe.
Entendo que agora é só você adaptar levando em considerações que seu arquivo retorno está estruturado da seguinte forma:
- Header do Arquivo;
- Registro Detalhe (aqui pode ter mais de um segmento);
- Trailer (as duas últimas linhas finais);
Espero ter ajudado.
Fonte de informação para criar o modelo:
https://social.msdn.microsoft.com/Forum ... orum=vbapt
- Anexos
-
- ImportarArquivoTXT_LarguaFixa.rar
- (13.45 KiB) Baixado 1158 vezes
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Seg Abr 27, 2015 9:57 am
Re: Com importar arquivo TXT para excel em colunas específic
Agradeço pela ajuda. Verei o que consigo fazer.
Obrigado.
Obrigado.
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Seg Abr 27, 2015 9:57 am
Re: Com importar arquivo TXT para excel em colunas específic
OLÁ PESSOAL, INFELIZMENTE NÃO CONSEGUI EVOLUIR MUITO..
Conforme mencionado pelo smuka, meu arquivo.txt é estruturado da seguinte forma:
HEADER DE ARQUIVO (1º LINHA)
- HEADER DE LOTE (2º LINHA)
--DETALHE A1 (dados do favorecido 1)
--DETALHE B1 (restante dos dados do favorecido 1)
--DETALHE A2
--DETALHE B2
--DETALHE A3
--DETALHE B3
(...)
-TRAILLER DE LOTE (PENÚLTIMA LINHA)
TRAILLER DE ARQUIVO (ÚLTIMA LINHA)
Cada parte da estrutura de arquivo possui um layout diferente. Não estou conseguindo ler o header de arquivo (1º linha), depois mudar o layout e ler a linha 2, depois ler os detalhes, etc... o arquivo é lido como se fosse um layout só. Não sei como especificar uma linha específica do arquivo.txt.
Outra dificuldade é a seguinte: Para cada registro de pagamento, os Detalhes A e B referem-se ao mesmo favorecido. Sendo que o "A", possui informações sobre agencia, conta, data de pagamento, valor, etc; e o "B", possui informações do CPF, endereço, cidade, UF, fone, etc. Preciso fazer com que as informações de um favorecido (detalhe A e B) fique na mesma linha da planilha no excel.
Espero ter sido claro.
Obrigado.
Conforme mencionado pelo smuka, meu arquivo.txt é estruturado da seguinte forma:
HEADER DE ARQUIVO (1º LINHA)
- HEADER DE LOTE (2º LINHA)
--DETALHE A1 (dados do favorecido 1)
--DETALHE B1 (restante dos dados do favorecido 1)
--DETALHE A2
--DETALHE B2
--DETALHE A3
--DETALHE B3
(...)
-TRAILLER DE LOTE (PENÚLTIMA LINHA)
TRAILLER DE ARQUIVO (ÚLTIMA LINHA)
Cada parte da estrutura de arquivo possui um layout diferente. Não estou conseguindo ler o header de arquivo (1º linha), depois mudar o layout e ler a linha 2, depois ler os detalhes, etc... o arquivo é lido como se fosse um layout só. Não sei como especificar uma linha específica do arquivo.txt.
Outra dificuldade é a seguinte: Para cada registro de pagamento, os Detalhes A e B referem-se ao mesmo favorecido. Sendo que o "A", possui informações sobre agencia, conta, data de pagamento, valor, etc; e o "B", possui informações do CPF, endereço, cidade, UF, fone, etc. Preciso fazer com que as informações de um favorecido (detalhe A e B) fique na mesma linha da planilha no excel.
Espero ter sido claro.
Obrigado.
Re: Com importar arquivo TXT para excel em colunas específic
Rafael,
Você tentou usar condições especificas com IF e ELSE para ler os segmentos do arquivo?
Entendo que aqui é só criar uma lógica para ler seu arquivo.txt. Haverá um trabalho para criar essa lógica, mais parta do principio que você já tem o código para importar o .txt com largura fixa.
Abs.
Você tentou usar condições especificas com IF e ELSE para ler os segmentos do arquivo?
Entendo que aqui é só criar uma lógica para ler seu arquivo.txt. Haverá um trabalho para criar essa lógica, mais parta do principio que você já tem o código para importar o .txt com largura fixa.
Abs.
-
- Acabou de chegar
- Mensagens: 4
- Registrado em: Seg Abr 27, 2015 9:57 am
Re: Com importar arquivo TXT para excel em colunas específic
Pessoal, agradeço demais pela ajuda.
O código está funcionando muito bem pra atender a minha necessidade.
Estou disponibilizando o arquivo final. É muito específico, mas podem ajudar outros....
Infelizmente, não posso disponibilizar os retornos.TXT (fonte de dados), pois possui dados bancários e pessoais de muita gente.
O arquivo anexo, processa retornos de crítica e financeiro (em sequência) do Sistema Caixa Programado da CAIXA ECONÔMICA FEDERAL - Layout SIACC 240.
O código está funcionando muito bem pra atender a minha necessidade.
Estou disponibilizando o arquivo final. É muito específico, mas podem ajudar outros....
Infelizmente, não posso disponibilizar os retornos.TXT (fonte de dados), pois possui dados bancários e pessoais de muita gente.
O arquivo anexo, processa retornos de crítica e financeiro (em sequência) do Sistema Caixa Programado da CAIXA ECONÔMICA FEDERAL - Layout SIACC 240.
- Anexos
-
- ImportaTXT_LarguraFixa - Final.rar
- (28.93 KiB) Baixado 1026 vezes
Re: Com importar arquivo TXT para excel em colunas específicas
bom dia amigo,
será que poderia disponibilizar o arquivo com o código de remessa, estou desenvolvendo para o itau-sispag, porem com a algumas dificuldades, gostaria de um exemplo pra me basear.
obrigado
será que poderia disponibilizar o arquivo com o código de remessa, estou desenvolvendo para o itau-sispag, porem com a algumas dificuldades, gostaria de um exemplo pra me basear.
obrigado