Este post foi originalmente publicado em http://officevbavsto.blogspot.com/2011/02/vba-internet-acessando-sites-da-web.html.

Esta é a primeira parte de uma série de artigos sobre como interagir com sites usando VBA e Internet Explorer.

Primeiro você deve se certificar de que tenha a referência “Microsoft Internet Control”  em seu VBE - Visual Basic Editor.

Para acessar o VBE, no Excel 2007 ou 2010, tecle a combinação ALT + F11 ou clique em Visual Basic na guia Desenvolvedor. Para acessar a caixa de Referências do Projeto, no VBE, clique em Ferramentas - Referências.

Vamos aos primeiros passos.

Crie um módulo novo (No VBE, Inserir - Módulo) e digite o seguinte código:

VBA	Sub AcessaPagina()

  Dim ie As InternetExplorer
  
  Set ie = New InternetExplorer 
  
  ie.Navigate "http://www.google.com.br"
  
  ie.Visible = True

End Sub

Iniciamos com uma rotina simples, na qual se declara uma variável do tipo InternetExplorer, em seguida instancia-se ela (new).

  • O objeto InternetExplorer controla uma instância do Windows Internet Explorer [1].

Você vai reparar que quando se cria uma instância, o navegador não é aberto, mas o processo dele aparece nos Processos do Windows (CTRL + SHIFT + ESC).

  • O método Navigate carrega a URL especificada [2].

E para finalizar, usamos o comando Visible = True para que o navegador seja exibido na tela. A propriedade Visible atribui ou retorna a exibição do Internet Explorer. True indica que o Internet Explorer está visível; False indica que está invisível [2].

Se por algum motivo você não consegue declarar a variável do tipo InternetExplorer, utilize o exemplo abaixo:

Sub AcessaPagina()

  Dim ie As Object
  
  Set ie = CreateObject("InternetExplorer.Application")
  
  ie.Navigate "http://www.google.com.br"
  
  ie.Visible = True

End Sub

A função CreateObject cria e retorna uma referência a um objeto COM [3]. No nosso código acima, o objeto COM é o InternetExplorer.

Créditos

Photo by Pixabay from Pexels

Referência Bibliográfica

Glossário

  • COM: Component Object Model.