Usuário com melhor resposta
Split em arquivo texto sem padronização

Pergunta
-
Bom dia!
Tenho um arquivo texto que não possui nenhuma formatação.
Veja o arquivo abaixo:
Nome do Funcionário Cartão
Entrega de Cartão
Data:
Hora:
Página:
08/09/2009
9:54:37AM
1
Titular: A&C CENTRO DE CONTATOS S/A
02.455.233/0001-04
Ordenado por Funcionário
CNPJ:
Matrícula
023632 02DEISY FERREIRA DOS SANTOS 06850000972651 Ass.:______________________________________________
025971 02MARISA ITALA CAROLINO 06850000667877 Ass.:______________________________________________
023250 2MONIQUE BELARMINO TAVARES 06850000972867 Ass.:______________________________________________
027299 2REGINA RODRIGUES DE FREITAS 06850000949463 Ass.:______________________________________________
023028 ABDOCIO FAGUNDES DOS SANTOS 06850000972508 Ass.:______________________________________________
028053 ABELARDO MENDONCA NETTO 06850001150346 Ass.:______________________________________________
016388 ABGAIL DIAS VIEIRA 06850000667806 Ass.:______________________________________________
022175 ABNER CONTALDO FERREIRA MARTINS 06850000945244 Ass.:______________________________________________
020501 ACLICIA DOS SANTOS PEREIRA 06850000984442 Ass.:______________________________________________
014995 ADALBERTO CRSITIANO DE 06850000647386 Ass.:______________________________________________
017563 ADALBERTO JOSE DA CUNHA JUNIOR 06850000471090 Ass.:______________________________________________
022605 ADAYANE APARECIDA ALEXANDRE 06850000972766 Ass.:______________________________________________
015488 ADELAINE NOGUEIRA ALVES 06850000533062 Ass.:______________________________________________
020184 ADELINA CRISTINA LOPES DOS SANTOS 06850000972709 Ass.:______________________________________________
007587 ADELINO DE OLIVEIRA BRITO NETO 06850000674996 Ass.:______________________________________________
022824 ADELMO ANDRADE DIAS 06850000652436 Ass.:______________________________________________
020917 ADENICE APARECIDA FARINHA 06850000790788 Ass.:______________________________________________
024064 ADERSON SANTOS DA SILVA 06850000984446 Ass.:______________________________________________
025321 ADINA LAIS MARQUES BORGES 06850000972616 Ass.:______________________________________________
028292 ADRIANA ALVES RIBEIRO 06850000984503 Ass.:______________________________________________
018270 ADRIANA ANDRADE BORGES 06850000533051 Ass.:______________________________________________
026843 ADRIANA BALDI ENOQUE FREITAS LIMA 06850001081346 Ass.:______________________________________________
019443 ADRIANA DA SILVA 06850000972611 Ass.:______________________________________________
022206 ADRIANA DA SILVA CARMO 06850000353775 Ass.:______________________________________________
025019 ADRIANA DE AZEVEDO SANCHES FERNANDES 06850001083136 Ass.:______________________________________________
019916 ADRIANA DE JESUS FERREIRA 06850000919093 Ass.:______________________________________________
Nome do Funcionário Cartão
Entrega de Cartão
Data:
Hora:
Página:
08/09/2009
9:54:37AM
2
Titular: A&C CENTRO DE CONTATOS S/A
02.455.233/0001-04
Ordenado por Funcionário
CNPJ:
Matrícula
021102 ADRIANA DE OLIVEIRA SILVA 06850000741657 Ass.:______________________________________________
023239 ADRIANA DIAS DE JESUS 06850001083152 Ass.:______________________________________________
025031 ADRIANA DOS SANTOS PEREIRA 06850001091289 Ass.:______________________________________________
023174 ADRIANA EVELIN CORDEIRO 06850000675074 Ass.:______________________________________________
022693 ADRIANA FERREIRA DOS REIS 06850000972771 Ass.:______________________________________________
025854 ADRIANA GONCALVES 06850001081371 Ass.:______________________________________________
028532 ADRIANA MARIA DE SOUZA 06850000949619 Ass.:______________________________________________
024601 ADRIANA MENDES 06850000970183 Ass.:______________________________________________
024740 ADRIANA MICHALENE ARAUJO COURA 06850001083138 Ass.:______________________________________________
003999 ADRIANA NUNES CARNEIRO 06850001061094 Ass.:______________________________________________
014534 ADRIANA PEREIRA DA SILVA 06850000647607 Ass.:______________________________________________
013601 ADRIANA PEREIRA DOS SANTOS 06850000470869 Ass.:______________________________________________
022361 ADRIANA PIRES ANASTACIO 06850000977129 Ass.:______________________________________________
013755 ADRIANA ROCHA 06850000647224 Ass.:______________________________________________
007428 ADRIANA SANTOS COSTA 06850000652334 Ass.:______________________________________________
014868 ADRIANA TAVARES MACHADO DA SILVA 06850000652461 Ass.:______________________________________________
026049 ADRIANA THAIS DE SOUZA PERAZOLI 06850001042387 Ass.:______________________________________________
010022 ADRIANE GISELLE DE ARAUJO 06850000982909 Ass.:______________________________________________
018926 ADRIANE SANTOS DE ALMEIDA 06850000787287 Ass.:______________________________________________
022002 ADRIANO APARECIDO DINIZ NASCIMENTO 06850001104127 Ass.:______________________________________________
026403 ADRIANO MEIRA DE CARVALHO 06850000949625 Ass.:______________________________________________
015297 ADRIANO RODRIGUES 06850000790975 Ass.:______________________________________________
028335 ADRIANO STEFANO DA SILVA 06850000791852 Ass.:______________________________________________
025982 ADRIELLY OLIVEIRA AMARAL 06850001150339 Ass.:______________________________________________
022067 ADRIENE JUNIA DE ALMEIDA BRAGA 06850000984464 Ass.:______________________________________________
015628 ADRIENE SOARES DE OLIVEIRA 06850000572718 Ass.:______________________________________________
Nome do Funcionário Cartão
Entrega de Cartão
Data:
Hora:
Página:
08/09/2009
9:54:37AM
3
Titular: A&C CENTRO DE CONTATOS S/A
02.455.233/0001-04
Ordenado por Funcionário
CNPJ:
Matrícula
015395 ADYZE JULIANA PEREIRA DE ASSIS 06850000788044 Ass.:______________________________________________
021449 AGNA CAIRES DE SOUZA 06850000984462 Ass.:______________________________________________
025795 AIEDA REZENDE LEAO 06850000972641 Ass.:______________________________________________
022316 AKSA BRUNA AMORIM ANTUNES 06850000884250 Ass.:______________________________________________
011349 ALAIDE SOUZA CARDOSO 06850000470990 Ass.:______________________________________________
026834 ALAIR GERALDO DE OLIVEIRA 06850001081306 Ass.:______________________________________________
009537 ALAN AUGUSTO RIBEIRO RESENDE 06850000648467 Ass.:______________________________________________
023914 ALAN DE OLIVEIRA MATTOS 06850000984452 Ass.:______________________________________________
016915 ALAN DUARTE DE MELO 06850000984526 Ass.:______________________________________________
026801 ALAN FRANCIS MARTINS CONRADO 06850001083281 Ass.:______________________________________________
018286 ALAN GONZAGA MARTINS 06850000819841 Ass.:______________________________________________
023422 ALAN NUNES 06850001150333 Ass.:______________________________________________
Meu objetivo é dividir este arquivo e pegar aenas os registros que tenha números nas 5 primeiras colunas, e esse número seja maior do que 999.
O resultado deste Split deve ser:
023632 02DEISY FERREIRA DOS SANTOS 06850000972651 Ass.:______________________________________________
025971 02MARISA ITALA CAROLINO 06850000667877 Ass.:______________________________________________
023250 2MONIQUE BELARMINO TAVARES 06850000972867 Ass.:______________________________________________
027299 2REGINA RODRIGUES DE FREITAS 06850000949463 Ass.:______________________________________________
023028 ABDOCIO FAGUNDES DOS SANTOS 06850000972508 Ass.:______________________________________________
028053 ABELARDO MENDONCA NETTO 06850001150346 Ass.:______________________________________________
016388 ABGAIL DIAS VIEIRA 06850000667806 Ass.:______________________________________________
022175 ABNER CONTALDO FERREIRA MARTINS 06850000945244 Ass.:______________________________________________
020501 ACLICIA DOS SANTOS PEREIRA 06850000984442 Ass.:______________________________________________
014995 ADALBERTO CRSITIANO DE 06850000647386 Ass.:______________________________________________
017563 ADALBERTO JOSE DA CUNHA JUNIOR 06850000471090 Ass.:______________________________________________
022605 ADAYANE APARECIDA ALEXANDRE 06850000972766 Ass.:______________________________________________
015488 ADELAINE NOGUEIRA ALVES 06850000533062 Ass.:______________________________________________
020184 ADELINA CRISTINA LOPES DOS SANTOS 06850000972709 Ass.:______________________________________________
007587 ADELINO DE OLIVEIRA BRITO NETO 06850000674996 Ass.:______________________________________________
022824 ADELMO ANDRADE DIAS 06850000652436 Ass.:______________________________________________
020917 ADENICE APARECIDA FARINHA 06850000790788 Ass.:______________________________________________
024064 ADERSON SANTOS DA SILVA 06850000984446 Ass.:______________________________________________
025321 ADINA LAIS MARQUES BORGES 06850000972616 Ass.:______________________________________________
028292 ADRIANA ALVES RIBEIRO 06850000984503 Ass.:______________________________________________
018270 ADRIANA ANDRADE BORGES 06850000533051 Ass.:______________________________________________
026843 ADRIANA BALDI ENOQUE FREITAS LIMA 06850001081346 Ass.:______________________________________________
019443 ADRIANA DA SILVA 06850000972611 Ass.:______________________________________________
022206 ADRIANA DA SILVA CARMO 06850000353775 Ass.:______________________________________________
025019 ADRIANA DE AZEVEDO SANCHES FERNANDES 06850001083136 Ass.:______________________________________________
019916 ADRIANA DE JESUS FERREIRA 06850000919093 Ass.:______________________________________________
021102 ADRIANA DE OLIVEIRA SILVA 06850000741657 Ass.:______________________________________________
023239 ADRIANA DIAS DE JESUS 06850001083152 Ass.:______________________________________________
025031 ADRIANA DOS SANTOS PEREIRA 06850001091289 Ass.:______________________________________________
023174 ADRIANA EVELIN CORDEIRO 06850000675074 Ass.:______________________________________________
022693 ADRIANA FERREIRA DOS REIS 06850000972771 Ass.:______________________________________________
025854 ADRIANA GONCALVES 06850001081371 Ass.:______________________________________________
028532 ADRIANA MARIA DE SOUZA 06850000949619 Ass.:______________________________________________
024601 ADRIANA MENDES 06850000970183 Ass.:______________________________________________
024740 ADRIANA MICHALENE ARAUJO COURA 06850001083138 Ass.:______________________________________________
003999 ADRIANA NUNES CARNEIRO 06850001061094 Ass.:______________________________________________
014534 ADRIANA PEREIRA DA SILVA 06850000647607 Ass.:______________________________________________
013601 ADRIANA PEREIRA DOS SANTOS 06850000470869 Ass.:______________________________________________
022361 ADRIANA PIRES ANASTACIO 06850000977129 Ass.:______________________________________________
013755 ADRIANA ROCHA 06850000647224 Ass.:______________________________________________
007428 ADRIANA SANTOS COSTA 06850000652334 Ass.:______________________________________________
014868 ADRIANA TAVARES MACHADO DA SILVA 06850000652461 Ass.:______________________________________________
026049 ADRIANA THAIS DE SOUZA PERAZOLI 06850001042387 Ass.:______________________________________________
010022 ADRIANE GISELLE DE ARAUJO 06850000982909 Ass.:______________________________________________
018926 ADRIANE SANTOS DE ALMEIDA 06850000787287 Ass.:______________________________________________
022002 ADRIANO APARECIDO DINIZ NASCIMENTO 06850001104127 Ass.:______________________________________________
026403 ADRIANO MEIRA DE CARVALHO 06850000949625 Ass.:______________________________________________
015297 ADRIANO RODRIGUES 06850000790975 Ass.:______________________________________________
028335 ADRIANO STEFANO DA SILVA 06850000791852 Ass.:______________________________________________
025982 ADRIELLY OLIVEIRA AMARAL 06850001150339 Ass.:______________________________________________
022067 ADRIENE JUNIA DE ALMEIDA BRAGA 06850000984464 Ass.:______________________________________________
015628 ADRIENE SOARES DE OLIVEIRA 06850000572718 Ass.:______________________________________________
015395 ADYZE JULIANA PEREIRA DE ASSIS 06850000788044 Ass.:______________________________________________
021449 AGNA CAIRES DE SOUZA 06850000984462 Ass.:______________________________________________
025795 AIEDA REZENDE LEAO 06850000972641 Ass.:______________________________________________
022316 AKSA BRUNA AMORIM ANTUNES 06850000884250 Ass.:______________________________________________
011349 ALAIDE SOUZA CARDOSO 06850000470990 Ass.:______________________________________________
026834 ALAIR GERALDO DE OLIVEIRA 06850001081306 Ass.:______________________________________________
009537 ALAN AUGUSTO RIBEIRO RESENDE 06850000648467 Ass.:______________________________________________
023914 ALAN DE OLIVEIRA MATTOS 06850000984452 Ass.:______________________________________________
016915 ALAN DUARTE DE MELO 06850000984526 Ass.:______________________________________________
026801 ALAN FRANCIS MARTINS CONRADO 06850001083281 Ass.:______________________________________________
018286 ALAN GONZAGA MARTINS 06850000819841 Ass.:______________________________________________
023422 ALAN NUNES 06850001150333 Ass.:______________________________________________
Ridermanquarta-feira, 9 de setembro de 2009 12:34
Respostas
-
Olá,
Sei que o tópico foi aberto a um longo tempo atrás, porém, como ele sempre mostra nos resultados de pesquisas e pra futuras dúvidas que possam ocorrer na mesma linha do raciocínio, segue a solução.Sub LimparArquivo() Dim Texto As String 'DESENVOLVIMENTO Sam Oliveia 'E-mail sam.oliveirabra@yahoo.com 'Objeto Tratamento de Arquivo 'Data 24/03/2012 'Solicitante http://social.msdn.microsoft.com/Forums/pt-BR/integrationservicespt/thread/f8c0b66f-d519-4540-9e1d-2a0fe685b9e9/ 'FUNCAO------------------------------------------------------- Arquivo = "C:\Documents and Settings\Projetos\Desktop\Projetos\ArquivoTexto.txt" Lista = "" If Arquivo <> False Then Open Arquivo For Input As #1 Do While Not EOF(1) Line Input #1, Texto If IsNumeric(Mid(Texto, 1, 5)) Then If Mid(Texto, 1, 5) > 999 Then Lista = Lista & Texto & vbCrLf End If End If Loop Close #1 End If Arquivo2 = Left(Arquivo, (Len(Arquivo)) - (Len(Split(Arquivo, "\")(UBound(Split(Arquivo, "\")))))) Arquivo2 = Arquivo2 & Mid(Split(Arquivo, "\")(UBound(Split(Arquivo, "\"))), 1, Len(Split(Arquivo, "\")(UBound(Split(Arquivo, "\")))) - 4) & "(Atualizado)" & Right((Split(Arquivo, "\")(UBound(Split(Arquivo, "\")))), 4) Open Arquivo2 For Output As #1 Print #1, Lista Close #1 End Sub
Atenciosamente,
Sam Oliveira
- Editado Sam Oliveira sábado, 24 de março de 2012 18:36
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator quarta-feira, 28 de março de 2012 12:49
sábado, 24 de março de 2012 18:35
Todas as Respostas
-
Olá Riderman,
Uma solução para isto é vc utilizar expressão regular para que você possa conseguir garantir a regra que você mesmo colocou. Pelo que eu entendi é: Os 5 primeiros caracteres deverão ser número com 5 digitos e o número deve ser maior do que 999.
Caso tenha sido util que tal votar nesta resposta :)
Abraço espero que tenha ajudado!
att
Marcelo Lamouneir de Miranda- Sugerido como Resposta Marcelo Lamounier de Miranda quarta-feira, 9 de setembro de 2009 13:02
- Não Sugerido como Resposta Riderman quarta-feira, 9 de setembro de 2009 14:21
quarta-feira, 9 de setembro de 2009 13:02 -
Ok, mas como usar Expressão regular dentro do pacote?
e qual expressão usar para validar se os 5 primeiros é número?
Ridermanquarta-feira, 9 de setembro de 2009 14:21 -
Olá,
Sei que o tópico foi aberto a um longo tempo atrás, porém, como ele sempre mostra nos resultados de pesquisas e pra futuras dúvidas que possam ocorrer na mesma linha do raciocínio, segue a solução.Sub LimparArquivo() Dim Texto As String 'DESENVOLVIMENTO Sam Oliveia 'E-mail sam.oliveirabra@yahoo.com 'Objeto Tratamento de Arquivo 'Data 24/03/2012 'Solicitante http://social.msdn.microsoft.com/Forums/pt-BR/integrationservicespt/thread/f8c0b66f-d519-4540-9e1d-2a0fe685b9e9/ 'FUNCAO------------------------------------------------------- Arquivo = "C:\Documents and Settings\Projetos\Desktop\Projetos\ArquivoTexto.txt" Lista = "" If Arquivo <> False Then Open Arquivo For Input As #1 Do While Not EOF(1) Line Input #1, Texto If IsNumeric(Mid(Texto, 1, 5)) Then If Mid(Texto, 1, 5) > 999 Then Lista = Lista & Texto & vbCrLf End If End If Loop Close #1 End If Arquivo2 = Left(Arquivo, (Len(Arquivo)) - (Len(Split(Arquivo, "\")(UBound(Split(Arquivo, "\")))))) Arquivo2 = Arquivo2 & Mid(Split(Arquivo, "\")(UBound(Split(Arquivo, "\"))), 1, Len(Split(Arquivo, "\")(UBound(Split(Arquivo, "\")))) - 4) & "(Atualizado)" & Right((Split(Arquivo, "\")(UBound(Split(Arquivo, "\")))), 4) Open Arquivo2 For Output As #1 Print #1, Lista Close #1 End Sub
Atenciosamente,
Sam Oliveira
- Editado Sam Oliveira sábado, 24 de março de 2012 18:36
- Marcado como Resposta Junior Galvão - MVPMVP, Moderator quarta-feira, 28 de março de 2012 12:49
sábado, 24 de março de 2012 18:35