Notifications
Clear all

Coleta de dados via macro

2 Posts
2 Usuários
0 Reactions
1,383 Visualizações
(@victorhdr)
Posts: 1
New Member
Topic starter
 

Boa Tarde!

Estou precisando realizar uma coleta de dados a partir do site www.mapeia.com.br, preciso coletar os dados
de pedagio e km das origem/destinos informado no site, Conseguir fazer um codigo onde o internet explorer abre e faz a consulta de forma automática
porem nao consigo coletar dados dessa determinada tela.

obs: internet explorer nao precisa abrir para realizar a pesquisa basta informar o km e pedagio na planilha.

Simplificando quero uma planilha que informe a distancia entre duas cidades e o valor do pedagio.

'Inclui referência ao Microsoft Internet Controls
Sub lReferenciaIE()
Dim ObRef
On Error Resume Next

ThisWorkbook.VBProject.References.AddFromGuid "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 1, 1
End Sub

Sub lsPesquisarPedagio()
'Inclui a referência se não houver
lReferenciaIE

Dim IE As InternetExplorer
Dim lCidadeOrig As String
Dim lCidadeDest As String
Dim lUltimaLinhaAtiva As Long
Dim lContador As Long

'Identifica a última célula ativa da lista
lUltimaLinhaAtiva = Worksheets("Plan1").Cells(Worksheets("Plan1").Rows.Count, 1).End(xlUp).Row

'Cria um objeto Internet Explorer
Set IE = New InternetExplorer

'Torna o objeto visível
IE.Visible = True

'Faz um loop por todas as linhas da planilha
For lContador = 2 To lUltimaLinhaAtiva
'Navega ao site do Mapeia
IE.Navigate " http://www.mapeia.com.br"

'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend

sng = Timer
Do While sng + 5 > Timer
Loop

'Carrega os dados de cidade de origem e destino que serão preenchidos na página
lCidadeOrig = Range("A" & lContador).Value
lCidadeDest = Range("B" & lContador).Value

'Carrega os dados de cidade de origem e destino na página e submente os dados do formulário
IE.Document.All("origin").innertext = lCidadeOrig
IE.Document.All("destination").Value = lCidadeDest
' IE.Document.forms("fuel-price").submit
IE.Document.All.Item("calc").Click

'Identifica se a página já foi totalmente carregada
While IE.ReadyState <> READYSTATE_COMPLETE
Wend

Next

MsgBox "Concluído!"
End Sub

 
Postado : 15/02/2017 1:42 pm
(@suggos)
Posts: 111
Estimable Member
 

Olá, Victor.
No meu excel, a macro não funcionou, pois não reconheceu o tipo de variável chamado "InternetExplorer". Se no seu funciona, provavelmente é necessário habilitar alguma biblioteca de funções ou algo do tipo.

Não se esqueça de marcar o tópico como resolvido se a resposta for satisfatória.

 
Postado : 18/02/2017 8:12 pm