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


3 participantes

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online

    avatar
    maiconmusico
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 05/11/2015

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Empty [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online

    Mensagem  maiconmusico 27/12/2017, 10:49

    Olá pessoal,

    Utilizo o Sistema para buscar CEP direto no site dos correios online há algum tempo, desenvolvi alguns BD no Access utilizando este código, porém o site dos correios utilizados neste sistema "http://m.correios.com.br/movel/buscaCepConfirma.do" não esta mais disponível e não consigo mais fazer a busca do CEP Sad
    Alguém conseguiu descobrir alguma solução??

    Segue o código:

    Código:

    Private Sub cep_com_AfterUpdate()

    'Sistema para buscar CEP direto no site dos correios online.
    'Versão 1.0

    Dim todotexto, inicio, fim, incremento, cidade_est

    'Exibe o objeto do IE
    Me.ie.Visible = True

    'Navega até o site dos Correios mobile
    Me.ie.Navigate "http://m.correios.com.br/movel/buscaCepConfirma.do"

    'Move o foco para o objeto
    Me.ie.SetFocus

    'Aguardo até que a página esteja totalmente carregada
    Call aguardar(ie, 1)

    'Seta variavel html com a classe mais comum do objeto
    Set html = Me.ie.Document

    'Localiza no site dos correios o campo do CEP e injeta
    html.all("cepEntrada").Value = cep_com

    'Depois do CEP injetado fazemos a busca
    html.getElementsByTagName("input")(3).Click

    'Executa função que aguarda que a página esteja totalmente carregada
    Call aguardar(ie, 1)

    'Como o site dos correios usa ajax para fazer a consulta, se não gerarmos um evento antes de pegar os dados, teremos um erro
    'Mais detalhes em: http://www.maximoaccess.com/post?t=13087
    'Então, já que terei que fazer este evento, resolvi fazer uma confirmação do CEP digitado
    pergunta = MsgBox("O CEP informado " & cep_com & " está correto?", vbYesNo)

    'Caso a resposta seja sim, vamos pegar no site dos correios o que nos interessa
    If pergunta = 6 Then

    'Pegamos o html da página
    todotexto = html.DocumentElement.outerHTML

    'Vamos usar um incremento para nos auxiliar na busca dos dados
    incremento = 0

    'Lemos o html da página e pegamos o endereço
    todotexto = Right(todotexto, Len(todotexto) - incremento)

    'Aqui verificamos se ocorreu algum erro no código por cep inválido
    If InStr(todotexto, "<DIV class=erro>") = 0 Then

    'Pegamos a posição da primeira ocorrência de resposta em todo texto que traz o endereço
    inicio = InStr(todotexto, "<SPAN class=respostadestaque>")

    'Pegamos a posição final da primeira ocorrência de resposta em todo texto que traz o endereço
    fim = InStr(todotexto, "</SPAN><BR><SPAN class=resposta>")

    'Somamos a quantidade de caracteres exedentes da primeira ocorrencia que é <SPAN class=respostadestaque> = 29
    inicio = inicio + 29

    'Fazemos o recorte do html conforme as posições informadas para obter o endereço e inserir no formulário
    rua_com = Mid(todotexto, inicio, fim - inicio)

    'Definimos nova posição de incremento para auxiliar na busca dos dados
    incremento = fim

    'Lemos o html da página e pegamos o bairro
    todotexto = Right(todotexto, Len(todotexto) - incremento)

    'Pegamos a posição da segunda ocorrência de resposta em todo texto que traz o bairro
    inicio = InStr(todotexto, "<SPAN class=respostadestaque>")

    'Pegamos a posição final da segunda ocorrência de resposta em todo texto que traz o bairro
    fim = InStr(todotexto, "</SPAN><BR><SPAN class=resposta>")

    'Somamos a quantidade de caracteres exedentes da segunda ocorrencia que é <SPAN class=respostadestaque> = 29
    inicio = inicio + 29

    'Fazemos o recorte do html conforme as posições informadas para obter o bairro e inserir no formulário
    bairro_com = Mid(todotexto, inicio, fim - inicio)

    'Definimos nova posição de incremento para auxiliar na busca dos dados
    incremento = fim

    'Lemos o html da página e pegamos a cidade e o estado que estão juntos
    todotexto = Right(todotexto, Len(todotexto) - incremento)

    'Pegamos a posição da terceira ocorrência de resposta em todo texto que traz a cidade e o estado
    inicio = InStr(todotexto, "<SPAN class=respostadestaque>")

    'Pegamos a posição final da terceira ocorrência de resposta em todo texto que traz a cidade e o estado
    fim = InStr(todotexto, "</SPAN><BR><SPAN class=resposta>")

    'Somamos a quantidade de caracteres exedentes da terceira ocorrencia que é <SPAN class=respostadestaque> = 29
    inicio = inicio + 29

    'Em uma variavel, fazemos o recorte do html conforme as posições informadas para obter a cidade e o estado
    cidade_est = Mid(todotexto, inicio, fim - inicio)

    'Fazemos o recorte do html para separar a cidade que está junto com o estado e inserir no formulário
    cidade_com = Left(cidade_est, Len(cidade_est) - 5)

    'Fazemos o recorte do html para separar a cidade que está junto com o estado e inserir no formulário
    estado_com = Right(cidade_est, 3)

    Else

    'Se o CEP estiver errado, informamos
    MsgBox "CEP inválido, verifique e tente novamente."

    End If

    Else

    'Se clicar em não na confirmação do cep, limpamos o form do cep
    cep_com = ""

    End If

    'Limpamos
    Set html = Nothing

    'Movemos o foco para o campo CEP
    cep_com.SetFocus

    'Ocultamos o objeto do IE
    Me.ie.Visible = False
    End Sub


    Última edição por maiconmusico em 27/12/2017, 13:27, editado 2 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11026
    Registrado : 04/11/2009

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Empty Re: [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online

    Mensagem  JPaulo 27/12/2017, 12:32

    Não sou do Brasil, mas entrando no site vejo que alterou para uma nova cara;

    Cole no seu browser;
    buscacep.correios.com.br/sistemas/buscacep/



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Folder_announce_new Instruções SQL como utilizar...
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Empty Re: [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online

    Mensagem  FabioPaes 27/12/2017, 12:35

    Os correios a uns meses a trás mudou o endereço de busca do CEP. Porém, verifique no Repositório que existem alguns exemplo... Postei um la que não utiliza o site dos Correios, utiliza apenas a Base de Dados dos Correios.

    https://www.maximoaccess.com/t29060-busca-cep-site-viacep


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!
    avatar
    maiconmusico
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 16
    Registrado : 05/11/2015

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Empty [RESOLVIDO] Erro no Sistema para buscar CEP direto no site dos correios online

    Mensagem  maiconmusico 27/12/2017, 13:25

    Olá JPaulo,

    A primeira coisa que fiz foi exatamente o que você disse, porém não funcionou, mas agradeço a sua colaboração.

    FabioPaes sem palavras para agradecer, fantástico esse busca cep, já alterei e esta funcionando a todo vapor agora. Obrigado mesmo pala sua contribuição.
    FabioPaes
    FabioPaes
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3914
    Registrado : 14/08/2013

    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Empty Re: [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online

    Mensagem  FabioPaes 27/12/2017, 13:31

    Grato pelo retorno e até a próxima se Deus quiser!


    .................................................................................
    _____________________________________________________________________
    Achou a solução para sua dúvida? Não seja Egoísta, Compartilhe com todos!
    A dica do Colega foi útil? Agradeça!

    O importante não saber tudo, mas sim a Onde procurar!

    Conteúdo patrocinado


    [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online Empty Re: [Resolvido] Erro no Sistema para buscar CEP direto no site dos correios online

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 05:57