Extrair Cotação de Moedas na WEB com VBA – [WEB Scraping]
Nessa aula eu vou te mostrar como você pode extrair cotação de moedas na web utilizando o VBA e deixar esse processo automático!
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:
Você já tentou obter cotações de moedas com VBA mas não sabia como? Hoje eu vou te mostrar como fazer isso utilizando API do Banco Central no VBA!
Vou te mostrar como extrair cotação de moedas na web com VBA utilizando essa API do Banco Central, pois ele já fornece essa API em um formato de link.
Isso vai facilitar muito o nosso web scraping com VBA, pois vamos poder fazer algumas alterações nesse link para deixa-lo automático inserindo as informações da moeda desejada e da data da cotação.
Agora vamos pra aula para aprender como obter a cotação de moedas com VBA utilizando o web scraping que é uma busca na internet!
Sub BuscarCotacoes()
Set objIE = CreateObject("InternetExplorer.Application")
Vamos fazer com que o objIE fique visível, para que possamos ver o resultado do código nele, colocando sua propriedade Visible como True
Vamos armazenar na variável “moedaCot” o que estiver escrito na célula B3 da nossa planilha em Excel, que é a sigla da moeda com 3 letras escolhida: CAD, EUR, GBP, JPY ou USD
Vamos armazenar na variável “dataCot” o que estiver escrito na célula B4 da nossa planilha em Excel, que é a data escolhida para ser a referência de quando queremos buscar a cotação da moeda escolhida, já com o formato (função Format) de “mm-dd-yyyy”, onde m = mês, d = dia e y = ano.
Vamos armazenar na variável linkCot o link responsável por entrar no site do Banco Central com o objetivo de buscar essa cotação, já incluindo a data que queremos buscar, através da variável “dataCot” e a moeda que queremos buscar, com a variável “moedaCot”
Enfim vamos fazer o Internet Explorer de fato ir até a página (método Navigate) informada pelo link (linkCot), moedaCot e dataCot para pegarmos a moeda de cotação daquele exato dia informado na nossa planilha em Excel
Usaremos de Estrutura de repetição Do Until que vai conferir o estado de funcionamento do Internet Explorer. Enquanto ele estiver ocupado e com estado não “pronto”, o loop vai continuar funcionando, até que o seu estado esteja pronto e a página carregada por completo
Vamos fazer o Excel ficar congelado e não realizar nenhuma ação de código em VBA por 1 segundo para dar tempo de a página ser carregada por completo e dar tempo do código esperar isso acontecer para fazer o próximo passo (e evitar erros)
Assim, poderemos pegar o texto que estiver na tag “td” do nosso navegador aberto (objIE), converter para número através da função CDbl, porque ele retorna um texto por padrão, e registrar na célula B5 do Excel
Em seguida aplicaremos o método Quit na variável que representa o Word (objIE) para que ele seja fechado
Por boas práticas vamos esvaziar a variável “objIE” (Nothing) para que ela não fique armazenada o tempo inteiro na memória do computador enquanto o arquivo está aberto no Excel
Será gerada uma mensagem ao final do código (MsgBox) informando que a procuração foi gerada com sucesso
Conclusão de Como Extrair Cotação de Moedas na Web
Essa é mais uma aula de macros VBA que vai te ajudar muito a automatizar seus processos dentro do Excel para aumentar sua produtividade.
Dessa forma teremos uma macro para automatizar cotações de moedas onde você pode utilizar apenas clicando em um botão, então além de simples fica muito fácil de utilizar depois.
Utilizando uma integração com o Internet Explorer, fazendo um Web Scraping conseguimos fazer isso por uma API específica de link.
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.
Procure o que você quiser sobre Excel, VBA, Power BI ou Python:
Aprenda tudo de Excel para se tornar uma referência no Mercado de Trabalho
Leve os treinamentos da Hashtag para dentro da sua Empresa