Nesse sobre VBA Internet post você encontrará:

  • VBA e Checkbox: marcar e verificar qual está marcado
  • VBA e Radiobox: marcar e verificar qual está marcado
  • VBA e ListBox: marcar e verificar qual está marcado
  • Como clicar em um botão de um site através de VBA
  • Clicar em um link através de VBA

 

Este será o último post sobre vba e internet, anteriormente escrevi como fazer login em uma página web e como abrir um site no browser padrão do computador 

Apesar de estar separado em tópicos (acima) vocês perceberão que no código estão tudo em mesmo contexto.
Se quiserem testar basta abrir um módulo e copiar o código abaixo (atenção para as aspas duplas que ao copiar vira apostrofo).

E para ajudar eu criei uma página na internet justamente para facilitar o estudo do código vba. E no rodapé segue vídeo.

 

Muito importante:
Para o código funcionar é necessário marcar a refêrencia: Microsoft Internet Controls
Outra observação é que deve ser verificado no site o Name dos listbox, checkbox e etc

 

vba internet

vba internet

______________________________________________________________ 

Sub VbaInternet()

Set Internet = New InternetExplorer
Internet.Navigate "http://excelevba.com.br/download/teste_vba.htm"
Internet.Visible = True

While Internet.Busy
DoEvents
Wend

'-------------------------------------------------listbox
'abaixo marca qual linha do listbox queremos que fique marcada
Internet.Document.All.Item("lst_excelevba").selectedindex = 2
nomeVar = Internet.Document.All.Item("lst_excelevba").Item(1).Text

'abaixo verifica qual linha do listbox está marcada
For Each valorLinha In Internet.Document.All.Item("lst_excelevba")
If valorLinha.Selected = True Then
MsgBox "linha marcada = " & valorLinha.Value
End If
Next valorLinha

'-------------------------------------------------------checkbox
'abaixo eu marco um checkbox no site
Internet.Document.All.Item("chk_excelevba").Item(0).Checked = "true"
nomeVar = Internet.Document.All.Item("chk_excelevba").Item(1).Value

'aqui verifico qual checkbox está marcado no site
For Each checkMarcado In Internet.Document.All.Item("chk_excelevba")
If checkMarcado.Checked = True Then
MsgBox "check marcado é o " & checkMarcado.Value
End If
Next checkMarcado

'-----------------------------------------------------radiobox
'abaixo marca uma opção do radiobox
Internet.Document.All.Item("rdo_excelevba").Item(1).Checked = True

'aqui verifica qual radiobox esta marcado
Count = 0
For Each radioMarcado In Internet.Document.All.Item("rdo_excelevba")
If radioMarcado.Checked = True Then
MsgBox "radio marcado é o " & Count
End If
Count = Count + 1
Next radioMarcado

'-------------------------------------------------------textbox
'o comando abaixo escreve na caixa do textbox
Internet.Document.getElementsByName("txt_excelevba").Item.Value = "Bem vindo ExceleVba.com.br"

'---------------------------------------------------------botao
'aqui somente clica no evento do botão no site
Internet.Document.getElementsByName("btn_excelevba").Item.Click

'---------------------------------------------------------link
'e abaixo verifica entre todos os links qual o desejado e clica
For Each link In Internet.Document.Links
If link.href = "http://excelevba.com.br/" Then link.Click
Next link
End Sub

 

Segue vídeo demonstrativo: