Página 2 de 2
Re: Executar função OnClick do java
Enviado: Ter Out 17, 2017 7:21 pm
por bruno153
Mikel Silveira Fraga escreveu: ↑Ter Out 17, 2017 2:39 pm
Boa tarde a todos.
Grande Paulinho, essa apostila não é minha e sim de um grande usuário chamado
Pedro, o qual tinha um blog excelente sobre
VBA e VSTO. Infelizmente o mesmo teve que cancelar o blog, o qual tinha um conteúdo fantástico.
Sobre o modelo que você postou, existe apenas um problema que estou suspeitando: identificar um conteúdo pelo
Atributo Class é problemático, pois geralmente esse
Atributo possuí o mesmo valor em vários
Elementos HTML.
Como exibido pelo amigo
Bruno, o
onClick vai para o
Group 25 e, se analisarmos nesse ponto de vista, existem outros 24 elementos na mesma situação.
Se minha análise estiver correta, o ideal seria um código que seguisse uma das duas sugestões abaixo:
1ª) Usar o seu código Paulo, sendo que teria que ter a opção para os demais Groups, ou seja, um
Select Case ou
If ElseIf Then, para identificar o grupo que o usuário deseja;
2ª) A sugestão que dei anteriormente sobre o evento
Click no elemento "
tr", gerando uma coleção com base no valor do
Atributo Class e ativando o
Click via identificação índice dos elementos.
Porém, fica muito difícil saber exatamente qual a forma de se conseguir resolver o problema, sendo que temos apenas uma linha do HTML para analisar e sem poder realizar testes.
Fica a mais um pitaco da minha parte.
Abraços a todos.
.
Olá amigo, tudo bem? Obrigado pelas dicas.
Re: Executar função OnClick do java
Enviado: Qua Out 18, 2017 11:03 am
por PRMPOKER
Bom dia pessoal, tudo bem?
Bruno, pelo que vejo no código, não há nada a ser clicado no "fieldset18". O evento OnClick está setado na seguinte TAG:
Código: Selecionar todos
<tr onclick="showHide('group25', 'figGroup25', this);" class="titulo">
Então eu sugiro que utilize meu exemplo, pois como o Mikel citou, há diversas tags <tr> no código, mas pelo que analisei no exemplo postado, há apenas uma com a class "titulo".
Pelo que parece ela refere-se à primeira linha da tabela, onde deve conter o título da mesma.
Esse código vai identificar essa tag e disparar o evento OnClick dela.
Você chegou a testar?
Tenta aí e nos avisa.
Um abraço!
Re: Executar função OnClick do java
Enviado: Qua Out 18, 2017 9:04 pm
por bruno153
PRMPOKER escreveu: ↑Qua Out 18, 2017 11:03 am
Bom dia pessoal, tudo bem?
Bruno, pelo que vejo no código, não há nada a ser clicado no "fieldset18". O evento OnClick está setado na seguinte TAG:
Código: Selecionar todos
<tr onclick="showHide('group25', 'figGroup25', this);" class="titulo">
Então eu sugiro que utilize meu exemplo, pois como o Mikel citou, há diversas tags <tr> no código, mas pelo que analisei no exemplo postado, há apenas uma com a class "titulo".
Pelo que parece ela refere-se à primeira linha da tabela, onde deve conter o título da mesma.
Esse código vai identificar essa tag e disparar o evento OnClick dela.
Você chegou a testar?
Tenta aí e nos avisa.
Um abraço!
Olá PRMPOKER,
Testei o seu código e quase que deu 100% certo.
Aqui temos as linhas de códigos:
Código: Selecionar todos
[marq=left][/marq]
<tr onclick="showHide('group25', 'figGroup25', this);" class="titulo">
<td class="text" align="left" colspan="4" style="width: 98%; ">
<img class="figGroup25" src="img/right.gif"> <b>NACIONALIDADES</b>
Nesse seu exemplo eu tive que fazer algumas alterações e no fim deu certo. Vejo abaixo o que foi alterado:
Código: Selecionar todos
Dim elemCollection As Object
Dim obj As Object
Exemplo: Set elemCollection = ie.Document.getElementsByTagName("td") 'Essa tag virou "tr" que é a tag do meu evento "OnClick".
Se tornou: Set elemCollection = ie.Document.getElementsByTagName("tr")
For Each obj In elemCollection 'Loop para localizar se existe a td com a propriedade procurada.
If obj.class = "titulo" Then 'Objeto pesquisado por "class" são pesquisador com "ClassName" mas optei por usar outra forma de pesquisa, usei o próprio InnerText do Obj ficando assim:
If obj.innertext = " NACIONALIDADES " Then
obj.Click
end if
Next obj
E assim exclui essas 2 linhas abaixo:
msgbox obj.class 'Linha incluída para testar se o código identifica corretamente a propriedade.
ie.Document.parentwindow.execscript (“showHide(‘group25’, ‘figGroup25’, this);”) 'Executa o JavaScript sem clicar no botão
Agradeço a todos pelas dicas aqui dadas.
Abraços e até a próxima, pessoal.
Re: Executar função OnClick do java
Enviado: Qui Out 19, 2017 9:23 am
por PRMPOKER
Bom dia Bruno!
Que maravilha, deu certo afinal!
O mais gratificante é que dada a linha de raciocínio, vocẽ analisou e ajustou o exemplo à sua necessidade. Ganhamos todos nestes casos, pois aprendemos um com o outro.
Sempre que pudermos, ajudaremos com o maior prazer.
Um abraço!