Na aula de hoje você vai aprender como fazer uma consulta de CEP com VBA no site dos correios para automatizar seu trabalho!
Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!
Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:
Fala, Impressionadores! Hoje eu quero te mostrar como consultar CEP no Excel (como consultar CEP com VBA) para que você possa automatizar esse processo!
Agora você vai ter a possibilidade de consulta de CEP no Excel utilizando o selenium que vai fazer a comunicação do VBA com a web e trazer essas informações!
Além disso temos que utilizar um webdriver que auxilia nessa conexão do VBA com o seu navegador. Então basicamente o que vamos fazer é um webscraping com VBA.
Isso quer dizer que vamos buscar informações da web e trazer para dentro do Excel de forma automática para que você não precise perder tempo fazendo isso de forma manual.
Então além de te mostrar como pegar informações da web com VBA eu vou te mostrar também como tratar erros no VBA com o On Error GoTo.
Esse tratamento é muito importante até para evitar que o seu código para de executar quando um erro for encontrado!
Links para download
Em um primeiro momento precisaremos baixar para o computador a biblioteca de comandos, objetos e métodos do Selenium.
Elas devem ser instaladas no seu computador com o instalador do programa, normalmente.
Esses serão usados e acessados para que o VBA faça essa integração com os outros navegadores que não sejam o Internet Explorer (integração nativa).
Logo após você terá, com o VBA aberto, que:
Pronto, a partir daqui sua biblioteca Selenium estará ativada para uso em seu VBA.
Além da biblioteca de comandos do Selenium, nós precisaremos fazer o download dos drivers dos navegadores extras (não nativos – Opera, Mozzilla, Google Chrome).
Esses drivers serão acessados e utilizados justamente pela biblioteca instalada o Selenium, para que o VBA possa fazer a comunicação/integração dos códigos e fazer ações nos navegadores.
Teremos que instalar esses drivers no local específico do computador onde estará instalado o Selenium. Abaixo mostramos um exemplo de onde ele pode/deve estar instalado:
OBS: cada computador tem um caminho específico.
Inserindo um Módulo no VBA
Para criar um código dentro de um módulo, precisamos primeiramente abrir o ambiente de VBA, a partir do atalho do teclado Alt(+Fn)+F11.
Como não temos nenhum módulo destinado ao tema da aula de hoje, e por questão de organização, vamos criar um módulo à parte.
Vamos na guia Inserir > Módulo, e uma caixa branca se abrirá.
Por padrão ele terá o nome de “Módulo 1”.
Colocaremos a seguinte sub dentro dele:
Option Explicit
Sub ConsultaCEP()
Dim navegadorChrome As New ChromeDriver
Dim linkPesquisa As String
Dim tabelaInfo As Object
linkPesquisa = "https://buscacepinter.correios.com.br/app/endereco/index.php"
navegadorChrome.AddArgument ("--headless")
navegadorChrome.Get (linkPesquisa)
navegadorChrome.FindElementById("endereco").SendKeys (Range("B2").Value)
navegadorChrome.FindElementById("btn_pesquisar").Click
'PassarErro:
'Set tabelaInfo = navegadorChrome.FindElementsByTag("td")
'
'On Error GoTo Erro:
'Range("B4").Value = tabelaInfo(1).Attribute("innerText")
'Range("B5").Value = tabelaInfo(2).Attribute("innerText")
'Range("B6").Value = tabelaInfo(3).Attribute("innerText")
'On Error GoTo 0
PassarErro:
On Error GoTo Erro
Range("B4").Value = navegadorChrome.FindElementsByTag("td")(1).Attribute("innerText")
Range("B5").Value = navegadorChrome.FindElementsByTag("td")(2).Attribute("innerText")
Range("B6").Value = navegadorChrome.FindElementsByTag("td")(3).Attribute("innerText")
On Error GoTo 0
Range("A:B").Columns.AutoFit
navegadorChrome.Quit
Set navegadorChrome = Nothing
Set tabelaInfo = Nothing
Exit Sub
Erro:
Application.Wait (Now + TimeValue("00:00:01"))
Resume PassarErro
End Sub
Explicação do código acima:
Ao final do código, teremos os valores pesquisados nas células B4, B5 e B6, adquiridos a partir da visita ao site. Veja abaixo:
Nessa aula você lidou com:
Até a próxima, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de Excel e VBA toda semana! Abraço!
Para acessar outras publicações de VBA, clique aqui!
Quer aprender mais sobre VBA com um Minicurso Gratuito?
Expert em VBA e Power BI da Hashtag Treinamentos. Auxilia no suporte aos alunos da Hashtag Treinamentos e na criação de conteúdos para os que acompanham nossos canais.