Blog

Postado em em 30 de abril de 2022

Rastrear Encomendas com VBA – Como Fazer o Rastreamento Automático

Hoje eu vou te ensinar a rastrear encomendas com VBA para automatizar seus trabalhos e buscas no site dos correios!

Caso prefira esse conteúdo no formato de vídeo-aula, assista ao vídeo abaixo!

Rastrear Encomendas com VBA

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Fala Impressionadores! Na aula de hoje eu quero te mostrar como fazer o rastreamento de encomendas automático com VBA.

Então você vai poder fazer o rastreamento automático no VBA de uma ou mais encomendas de uma vez só.

Para isso vamos utilizar o selenium no VBA que vai permitir a integração com a web para obter informações (webscraping com VBA).

E além disso vamos utilizar a estrutura de repetição For no VBA que serve para repetir uma ação várias vezes.

Com isso você pode procurar várias encomendas e registrar as informações dentro do Excel de forma totalmente automática!

E aí, bora aprender como navegar na web com VBA e trazer as informações das suas encomendas?

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:

  • Ir na guia Ferramentas
  • Referências…
  • Marcar a caixinha correspondente ao “Selenium Type Library” (como na foto abaixo)
  • OK
00 1

Pronto, a partir daqui sua biblioteca Selenium estará ativada para uso em seu VBA.

0 9

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:

  • C:UsersDiego AmorimAppDataLocalSeleniumBasic

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á.

Rastrear Encomendas com VBA

Por padrão ele terá o nome de “Módulo 1”.

Rastrear Encomendas com VBA

Colocaremos a seguinte sub dentro dele:

Option Explicit

Sub ConsultaCodigo()

Dim navegadorChrome As New ChromeDriver
Dim linkPesquisa As String
Dim linha As Long, ultLin As Long

navegadorChrome.AddArgument ("--headless")

ultLin = Range("A1000000").End(xlUp).Row

For linha = 2 To ultLin

    linkPesquisa = "https://www.linkcorreios.com.br/?id=" & Cells(linha, 1).Value

    navegadorChrome.Get (linkPesquisa)

    Cells(linha, 2).Value = navegadorChrome.FindElementsByClass("card-header")(1).FindElementsByTag("li")(1).Text
    Cells(linha, 3).Value = navegadorChrome.FindElementsByClass("card-header")(1).FindElementsByTag("li")(2).Text

Next

Columns("A:C").AutoFit

navegadorChrome.Close
Set navegadorChrome = Nothing

End Sub

Explicação do código acima:

  • A primeira linha diz que que todas as variáveis utilizadas no código serão obrigatoriamente declaradas. Observe que isso é algo que é colocado fora da estrutura das nossas subs (vem antes do começo da Sub, de fato)
  • Vamos dimensionar:
    • A variável “navegadorChrome” como um objeto que representa uma nova instância do Google Chrome (através do Chrome Driver)
    • a variável “linkPesquisa” como como uma String (texto)
    • as variáveis “linha” e “ultLin” como números do tipo Long
    • Para entender melhor sobre os tipos de dados no VBA, visite esse link oficial
  • Para o “navegadorChrome” criado vamos adicionar o argumento “sem cabeça”. Ou seja, ao ser aberto, o navegador não vai ser mostrado, por opção nossa
  • Armazenar na variável “ultLin” a última linha preenchida da coluna A
  • Usar de uma estrutura de repetição do tipo For, que vai fazer ações da linha 2 até a linha dada pela variável “ultLin”
    • A variável “linkPesquisa” vai receber de fato o endereço do site a ser visitado, em formato de String (texto), do que for resultado do site “https://www.linkcorreios.com.br/?id=” e o que tiver na célula, na coluna A (1) na mesma linha que estiver a estrutura de repetição (entre 2 e “ultLin”)
    • Vamos visitar o site dado pela variável “linkPesquisa”, que é para onde vamos navegar de fato
    • Armazenar na célula da linha da estrutura de repetição, na coluna B (2) o texto correspondente ao elemento de índice 1 com tag “li” dos elementos de classe “card-header” de índice 1
    • Armazenar na célula da linha da estrutura de repetição, na coluna C (3) o texto correspondente ao elemento de índice 2 com tag “li” dos elementos de classe “card-header” de índice 1
    • E segue para a próxima linha da estrutura de repetição
  • Fazer o autoajuste das colunas de A a C da planilha
  • Fecharemos (quit, em inglês) o nosso navegadorChrome
  • Por convenção iremos “limpar” a memória da variável “navegadorChrome”
  • Se encerra o nosso código

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:
3 7

Conclusão de Como Rastrear Encomendas com VBA

Nessa eu te mostrei como fazer o rastreamento de encomendas utilizando o VBA para automatizar os seus trabalhos e projetos.

Os assuntos que vimos nessa aula foram:

Até a próxima, Impressionadores! Fique ligado no nosso canal do Youtube para mais conteúdo de Excel e VBA toda semana! Abraço!

Hashtag Treinamentos

Para acessar outras publicações de VBA, clique aqui!


Quer aprender mais sobre VBA com um minicurso básico gratuito?

Quer sair do zero no Python e virar uma referência na sua empresa? Inscreva-se agora mesmo no Python Impressionador