Olá pessoal tudo bem?
Sou novo por aqui e primeiramente agradeço aos menbros e equipe do fórum por dedicarem um pouco
do tempo de vida e compartilhar informações muito valiosas com pessoas desconhecidas.
Pessoal estou com um grande problema na interação do VBA Excel com um site, e isto está empacando minha aplicação
completamente. Já tentei muitos trechos de códigos e até agora o resultado não é bom, meu pequeno arsenal de gambiarras
findou.
Estou acessando um site e alguns elementos ao invés de serem simples botões inputs HTML são anchor (<a>) em javascript, e preciso acessar
estes links para dar continuedade ao meu trampo. Em determinada parte do site contém a sequinte frase:
"Se você é um Usuário Master e este é seu primeiro acesso, clique 'aqui'"
Este bendito 'aqui' é composto do sequinte trecho de código:
<a id="_id35:_id38" onclick="var form=formOf(this);form['_id35:_idcl'].value='_id35:_id38';return iceSubmit(form,this,event);"
onfocus="setFocus(this.id);" onblur="setFocus('');" href="javascript:;">aqui</a>
Já tentei utilizar
Set linkAqui= formulario.elements("_id35:_id38")
linkAqui.click
Set linkAqui= formulario.elements("_id35:_id38")
linkAqui.onclick
Call ie.Document.parentWindow.execScript("_id35:_id38", "JavaScript")
Com toda a certeza algumas tentativas foram mais tiros no escuro que qualquer outra coisa, más minha dúvida é
como acessar este bendito link javascript.
Desde já Agradeço !
Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Acessar link anchor Html Javascript [RESOLVIDO]
- Andrigue Viçosa
- Acabou de chegar
- Mensagens: 2
- Registrado em: Qui Jan 07, 2016 3:10 pm
Acessar link anchor Html Javascript [RESOLVIDO]
Editado pela última vez por Andrigue Viçosa em Seg Jan 11, 2016 2:59 pm, em um total de 1 vez.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Acessar link anchor Html Javascript
Andrigue Viçosa, seja muito bem vindo ao fórum.
Olha, sei bem como é complicado quando ficamos presos em determinado problema, mas estamos aqui pra tentar ajudar.
A linha de código que você esta tentando acessar é essa, certo:
Tente utilizar o código abaixo, e veja se vai surtir resultado:
- Em algum lugar do script, declare as duas variáveis.
Agora vamos substituir as linhas de código que você esta tentando, pela sequência abaixo:
Essa rotina acima permite que o VBA navegue por todos os elementos Anchor e faça testes/ações que o usuário desejar.
Já vou adiantando que o fato de não ter acesso a estrutura do site, por ser uma aplicação restrita, fica mais complicado chegarmos a uma solução definitiva de forma rápida. Mas não desanime, vamos trocando uma ideia e veremos onde vamos chegar.
Forte abraço e aguardo retorno.
Olha, sei bem como é complicado quando ficamos presos em determinado problema, mas estamos aqui pra tentar ajudar.
A linha de código que você esta tentando acessar é essa, certo:
Código: Selecionar todos
<a id="_id35:_id38" onclick="var form=formOf(this);form['_id35:_idcl'].value='_id35:_id38';return iceSubmit(form,this,event);"
onfocus="setFocus(this.id);" onblur="setFocus('');" href="javascript:;">aqui</a>
- Em algum lugar do script, declare as duas variáveis.
Código: Selecionar todos
Dim objLink, objElementCol as Object
Código: Selecionar todos
'Inicia o objeto objElementCol - Estou considerando que foi atribuido ao objeto 'formulario', o caminho 'IE.document'.
Set objElementCol = formulario.getByElementsTagName("a")
'Será iniciado um laço por todos os elementos anchor.
For Each objLink in objElementCol
'Realiza um teste entre o texto que deseja e o texto do link.
If objLink.innerText = "aqui" Then objLink.click
Next objLink
Já vou adiantando que o fato de não ter acesso a estrutura do site, por ser uma aplicação restrita, fica mais complicado chegarmos a uma solução definitiva de forma rápida. Mas não desanime, vamos trocando uma ideia e veremos onde vamos chegar.
Forte abraço e aguardo retorno.
- Andrigue Viçosa
- Acabou de chegar
- Mensagens: 2
- Registrado em: Qui Jan 07, 2016 3:10 pm
Re: Acessar link anchor Html Javascript [RESOLVIDO]
Mikel Silveira Fraga escreveu:Andrigue Viçosa, seja muito bem vindo ao fórum.
Tente utilizar o código abaixo, e veja se vai surtir resultado:
- Em algum lugar do script, declare as duas variáveis.Agora vamos substituir as linhas de código que você esta tentando, pela sequência abaixo:Código: Selecionar todos
Dim objLink, objElementCol as Object
Essa rotina acima permite que o VBA navegue por todos os elementos Anchor e faça testes/ações que o usuário desejar.Código: Selecionar todos
'Inicia o objeto objElementCol - Estou considerando que foi atribuido ao objeto 'formulario', o caminho 'IE.document'. Set objElementCol = formulario.getByElementsTagName("a") 'Será iniciado um laço por todos os elementos anchor. For Each objLink in objElementCol 'Realiza um teste entre o texto que deseja e o texto do link. If objLink.innerText = "aqui" Then objLink.click Next objLink
Já vou adiantando que o fato de não ter acesso a estrutura do site, por ser uma aplicação restrita, fica mais complicado chegarmos a uma solução definitiva de forma rápida. Mas não desanime, vamos trocando uma ideia e veremos onde vamos chegar.
Forte abraço e aguardo retorno.
Grande Mikel,
Muitíssimo obrigado funcionou exatamente como eu precisava, certamente terei outras dúvidas más com toda a certeza esse trecho de código vai me ajudar e muito em todo desenvolvimento da minha aplicação, novamente agradeço sua preciosa ajuda.
Abraço e que Deus te Abençoe.