fechar

Aprender Excel

APRENDER EXCEL

DICAS E NOVIDADES SOBRE EXCEL

Como fazer login automático em qualquer site com VBA

por: Maximiliano Meyer em VBA, no dia 05/06 | 11:33

Hoje vamos aprender mais um truque muito legal para quem gosta de criar suas planilhas com recursos adicionais proporcionados pelos VBA"s.

Com o código de hoje você vai aprender a criar uma planilha que abre um determinado site e faz login automaticamente no sistema. Esse recurso pode ser útil para você mesclar com a nossa aula de importar dados da web diretamente do Excel, por exemplo.

Para começar temos que adicionar uma biblioteca ao Excel. Para isso vamos abrir a janela de edição de códigos com o atalho alt + f11 e depois vamos em 'Ferramentas' e 'Referências'. Será aberta uma nova janela onde marcaremos a opção 'Microsoft Internet Controls' e a opção 'Microsoft HTML Object Library'. Dê um 'ok'.

O próximo passo é adicionarmos o código VBA em um módulo. Para isso clique com o botão direito no seu projeto, vá em 'Inserir' e depois em 'Módulo'

Dim HTMLDoc As HTMLDocument
Dim oBrowser As InternetExplorer

Sub Login()

Dim oHTML_Element As IHTMLElement
Dim sURL As String
On Error GoTo Err_Clear
   sURL = "site do login"
Set oBrowser = New InternetExplorer
   oBrowser.Silent = True
   oBrowser.timeout = 60
   oBrowser.Navigate sURL
   oBrowser.Visible = True

Do
Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE

Set HTMLDoc = oBrowser.Document
  HTMLDoc.all.id de Email.Value = "seu e-mail"
  HTMLDoc.all.id de senha.Value = "sua senha"

For Each oHTML_Element In HTMLDoc.getElementsByTagName("input")
    If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For

Next
Err_Clear:

Resume Next
End Sub

Em seguida vamos preencher os campos de login e senha com os respectivos dados. Mas além de colocarmos os dados como usuário e senha temos que informar ao Excel onde inserir esses valores, correto? Para isso vamos identificar dentro do código HTML da página onde estão os campos para inserção de dados. Vamos localizar as Id"s dos campos.

Parece difícil, mas não é. Vamos usar como exemplo a página de login do Facebook. Clique com o botão direito do mouse e então em 'Inspecionar' se você estiver usando o navegador Google Chrome, 'Inspecionar elemento' no Internet Explorer ou algo similar em qualquer outro navegador.

Agora vamos localizar as Id"s dos campos necessários, nesse caso: o campo de login e o campo de senha. Os nomes não variam muito, então você encontrará com facilidade. Caso não encontre pode clicar diretamente com o botão direito no campo (caixinha de inserir a senha, por exemplo) e clicar com o botão direito e mandar 'inspecionar'. Será exibido o campo específico.

Lembrando mais uma vez que precisamos do que está identificado como 'Id' de cada campo.

Veja como ficou depois que eu preenchi meu código com os dados:


Nosso vba que fará login automático está pronto =) Quer vê-lo em ação? Veja que eu atribui a macro a um botão e com um clique ele abrirá o navegador, acessará a página e irá inserir as infos que eu forneci.

Agora é só deixar sua imaginação criar as mais fabulosas aplicações para o código. Você pode, por exemplo, colocar este código para logar em seu banco de dados e puxar as informações automaticamente.