Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Tópicos relacionados a códigos VBA, gravação de macros, etc.
  • Avatar do usuário
Por FabioJT
#6488
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
Você não está autorizado a ver ou baixar esse anexo.
Avatar do usuário
Por Kledison
Avatar
#6529
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
Por FabioJT
#6564
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
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord