Página 1 de 1

Macro para pesquisar Pedágio

Enviado: 15 Jan 2016 às 10:11
por FabioJT
Estou tentando criar uma Macro para pesquisar valores de pedágio no site http://www.mapeia.com.br, mas não estou conseguindo fazer a Macro executar o botão "Mapear" para pesquisar o valor. Abaixo um pedaço do código:
Código: Selecionar todos
'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 + 3 > 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("calc").submit
Está dando erro na última linha do código "IE.Document.forms("calc").submit", quando chega ai da o seguinte erro:
Erro em tempo de execução '424':
O objeto é obrigatório


Alguém sabe o que pode ser? Como posso resolver?

Obs.: Estou usando o Office 2013 + IE11. Arquivo completo em anexo.

Obrigado,

Fábio

Re: Macro para pesquisar Pedágio

Enviado: 18 Jan 2016 às 10:56
por Kledison
Olá Fábio,

faça essa alteração no seu código VBA e verifique se atende as suas necessidades.
Código: Selecionar todos
IE.Document.All.Item("calc").Click

Re: Macro para pesquisar Pedágio

Enviado: 19 Jan 2016 às 09:41
por FabioJT
Kledison, deu certo este comando.
Agora não estou conseguindo levar o valor do pedágio do site para planilha. Poderia me ajudar neste comando também?

Obrigado,

Fábio