MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


2 participantes

    Importar arquivo texto para uma planilha do excel

    avatar
    lucioapo
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 48
    Registrado : 12/05/2013

    Importar arquivo texto para uma planilha do excel Empty Importar arquivo texto para uma planilha do excel

    Mensagem  lucioapo 29/12/2022, 19:28

    Boa tarde todos,

    Estou com problemas para importar varios arquivos texto para uma planilha excel, usando VBA direto do excel.
    Não consegui selecionar varios arquivos para serem lidos. Uma outra opção é selecionar somente a pastar e o codigo vba varrer a pastar e ler todos os arquivos texto que la estiverem e depois move-los para uma pasta LIDO.
    Outra questão é que o codigo que consegui ajustar esta inserindo algumas linhas em branco no excel.

    O código é o seguinte:

    Sub ImportacaoTextoBBApl()
    Dim ConteudoDaLinha As String
    Dim VarConta As String
    Dim VarMes As String
    Dim VarContaTitulo As String
    Dim VarAplNome As String
    Dim VarRend As String
    Dim VarIR As String
    Dim VarIOF As String



    Open "C:\ImportarTexto\21.076 21244-X 202212.txt" For Input As #1 ' Abre o Arquivo
    'COMO FAZER PARA ABRIR UM DIRETORIO NA MAQUINA E O USUARIO SELECIONAR VARIOS ARQUIVOS TEXTOS DE UMA SO VEZ?
    'NA PLANILHA GERADA ESTA SENDO INCLUSAS VARIAS LINHAS EM BRANCO. É POSSIVEL NÃO INSERIR ESTAS LINHAS?

    'Range("A2:F5000").Value = Empty
    Range("A2").Select

    VarConta = ""
    ConteudoDaLinha = ""
    VarMes = ""
    VarContaTitulo = ""
    VarAplNome = ""

    Do While EOF(1) = False
       Line Input #1, ConteudoDaLinha 'Alimenta a variavel com o conteudo da linha correte do txt
       'Cells(ActiveCell.Row, 1) = Mid(ConteudoDaLinha, 1, 200)
       
       If Mid(ConteudoDaLinha, 1, 3) <> "   " Or Mid(ConteudoDaLinha, 1, 3) <> "---" Then
       
               If Mid(ConteudoDaLinha, 1, 3) = "Con" Then
               VarConta = Mid(ConteudoDaLinha, 22, 10)
               Cells(ActiveCell.Row, 1) = VarConta
               End If
               
               If Mid(ConteudoDaLinha, 1, 3) = "Mês" Then
               VarMes = Mid(ConteudoDaLinha, 22, 14)
               Cells(ActiveCell.Row, 1) = VarMes
               End If
               
               If Mid(ConteudoDaLinha, 37, 4) = "CNPJ" Then
               VarAplNome = Replace(Mid(ConteudoDaLinha, 1, 56), "               ", "")
               Cells(ActiveCell.Row, 1) = VarAplNome
               End If
       
               If Mid(ConteudoDaLinha, 6, 1) = "/" And Mid(ConteudoDaLinha, 13, 7) = "SALDO A" Or Mid(ConteudoDaLinha, 13, 7) = "RESGATE" Or Mid(ConteudoDaLinha, 13, 7) = "APLICAÇ" Or Mid(ConteudoDaLinha, 13, 7) = "SALDO A" Then
                   
                   Cells(ActiveCell.Row, 1) = VarConta
                   Cells(ActiveCell.Row, 2) = VarMes
                   Cells(ActiveCell.Row, 3) = VarAplNome
                   Cells(ActiveCell.Row, 4) = Mid(ConteudoDaLinha, 1, 10) ' Informa da data do lançamento
                   Cells(ActiveCell.Row, 5) = Mid(ConteudoDaLinha, 13, 7) ' Historico da operação
                   Cells(ActiveCell.Row, 6) = Replace(Mid(ConteudoDaLinha, 40, 15), ".", "") ' Valor do Lançamento
                   
               End If
               
               ' Codigo para Buscar o Rendimento
               If Mid(ConteudoDaLinha, 1, 21) = "RENDIMENTO BRUTO  (+)" Then
                   VarRend = Replace(Mid(ConteudoDaLinha, 30, 18), ".", "")
                   Cells(ActiveCell.Row, 1) = VarConta
                   Cells(ActiveCell.Row, 2) = VarMes
                   Cells(ActiveCell.Row, 3) = VarAplNome
                   Cells(ActiveCell.Row, 4) = "31/12/2022" ' Informa da data do lançamento
                   Cells(ActiveCell.Row, 5) = "RENDIMENTO DE APLICACAO FINANCEIRA" ' Historico da operação
                   Cells(ActiveCell.Row, 6) = VarRend ' Valor do Lançamento
               End If
               
               
               ' Codigo para Buscar o IRRF
               If Mid(ConteudoDaLinha, 1, 21) = "IMPOSTO DE RENDA  (-)" Then
                   VarIRRF = Replace(Mid(ConteudoDaLinha, 30, 18), ".", "")
                   Cells(ActiveCell.Row, 1) = VarConta
                   Cells(ActiveCell.Row, 2) = VarMes
                   Cells(ActiveCell.Row, 3) = VarAplNome
                   Cells(ActiveCell.Row, 4) = "31/12/2022" ' Informa da data do lançamento
                   Cells(ActiveCell.Row, 5) = "IRRF S/ RENDIMENTO DE APLICACAO FINANCEIRA" ' Historico da operação
                   Cells(ActiveCell.Row, 6) = VarIRRF ' Valor do Lançamento
               End If
               
               
               ' Codigo para Buscar o IOF
               If Mid(ConteudoDaLinha, 1, 21) = "IOF               (-)" Then
                   VarIOF = Replace(Mid(ConteudoDaLinha, 30, 18), ".", "")
                   Cells(ActiveCell.Row, 1) = VarConta
                   Cells(ActiveCell.Row, 2) = VarMes
                   Cells(ActiveCell.Row, 3) = VarAplNome
                   Cells(ActiveCell.Row, 4) = "31/12/2022" ' Informa da data do lançamento
                   Cells(ActiveCell.Row, 5) = "IOF S/ RENDIMENTO DE APLICACAO FINANCEIRA" ' Historico da operação
                   Cells(ActiveCell.Row, 6) = VarIOF ' Valor do Lançamento
               End If
               
     
         
       
               Cells(ActiveCell.Row + 1, ActiveCell.Column).Select  'Pula de Linha na Planilha

      End If
    Loop

    Close 1
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    Importar arquivo texto para uma planilha do excel Empty Re: Importar arquivo texto para uma planilha do excel

    Mensagem  Avelino Sampaio 5/1/2023, 10:38

    Olá!

    Veja neste artigo como mover arquivos entre pastas.

    copie e cole o endereço no seu navegador
    usandoaccess.com.br/blog/mover-arquivos-entre-pastas-pelo-vba.asp


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.

      Data/hora atual: 28/4/2024, 03:09