Interação VBA com Internet Explorer (dúvidas)

Perguntas e Repostas sobre os artigos, posts e arquivos que são postados no site

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor webmaster » Qui Mai 03, 2012 1:54 pm

warlock,

O código da página é ASP.NET. No fim, o HTML gerado é quase sempre aletório. Isso é uma complicação, mesmo.

Tente ver se há uma padronização na geração do nome do controle de input. De resto, é capturá-lo como temos mostrado no exemplo e efetuar o click.

Abraços
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1724
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 78 vezes

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor warlockhb » Qui Mai 03, 2012 3:18 pm

webmaster,

Tem algum tutorial ou artigo que eu consiga aprender como verifico essa padronização?
Comecei a mexer com esse tipo de código tem 3 dias, então estou meio perdido. só falta esse detalhe para eu acabar a minha macro =)

Muito obrigado,
warlockhb
 
Mensagens: 3
Registrado em: Qui Mai 03, 2012 11:09 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor webmaster » Qui Mai 03, 2012 4:05 pm

warlock,

Só programando em. Eu mesmo sou programador ASP.NET e é bem complicado querer enxergar um padrão no código gerado. Se for código dinâmico, a coisa só piora.

No seu caso, repita as operações e veja se os ids mudam. Se não mudarem, fica fácil. Já se, será precisa estabelecer algum outro padrão para encontrar o arquivo.

Att
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

O autor desta mensagem webmaster foi agradecido por:
warlockhb (Qui Mai 03, 2012 4:21 pm)
Qualificação: 20%
 
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1724
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 78 vezes

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor warlockhb » Sex Mai 04, 2012 10:33 am

Webmaster,

Passei o dia ( e parte dessa manha) pesquisando, mas acho que vou ter que comer mt feijao com arroz,
Vc pode me ajudar neste caso? Se eu colar o código ( da pagina da internet) aqui ajuda em algo?

abs
warlockhb
 
Mensagens: 3
Registrado em: Qui Mai 03, 2012 11:09 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor webmaster » Qui Mai 10, 2012 5:15 pm

warlock,

O problema está na aletoriedade do código HTML gerado. Mesmo que coloque o código aqui, ele pode deixar de ser válido. Isso digo em relação aos ids do controles, que são a principal chave para a correta integração do código.

Somente o uso vai nos dar isso. Se os ids não forem constantes, vai precisar achar padrões para resolver qual é objeto correto.

É meio chato, mas sem isso, vai ser complicado fazer esse integração.

Att
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1724
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 78 vezes

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor DomSimão » Qui Mai 17, 2012 8:21 am

Bom dia,
Estou com um problema no envio de um comando click, já tentei de quase tudo mas não consigo arranjar a solução. Se puder muito lhe agradecia a sua ajuda.
Ao enviar o comando "myIE.Document.all.Item("_ctl1:btn_concluir").Click" o programa não sai desta linha, e na página aparece um sub página para confirmar OK ou Cancelar, como o comando fica em loop não consigo dar a instrução de OK.
Se puderem dar uma ajuda, ficaria muito agradecido.
Cmps
Simão
DomSimão
 
Mensagens: 4
Registrado em: Qui Mai 17, 2012 8:15 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor webmaster » Qui Mai 17, 2012 4:16 pm

Simão,

Chegou a testar se o elemento myIE.Document.all.Item("_ctl1:btn_concluir") é encontrado? Poste o código se for possível.

Abraços
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1724
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 78 vezes

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor DomSimão » Sex Mai 18, 2012 6:04 am

Antes de mais, os meus agradecimentos pela resposta.
Aqui vai o código:


Sub FechaPedidos_PMC()


Dim db As Database
Set db = CurrentDb()
Dim AR As String

AR = "FundosOIC"
Set recAR = db.OpenRecordset(AR, DB_OPEN_DYNASET)

With recAR

.MoveFirst

Do While Not .EOF

Pedido = !ID_PEDIDO
Visto = !Visto
Feito = !Feito
Mensagem = False
myPageURL = "http://setpsfiinb01.bcpcorp.net/websites/upci/pmc/pages/aspx/detalhePedido.aspx?p=" & Pedido & "&o=322"


If !fechar = True Then

Const myPageTitle As String = "PMC - Fila de Trabalho"

Dim myIE As SHDocVw.InternetExplorerMedium

Set myIE = GetOpenIEByTitle(myPageTitle, False)

If myIE Is Nothing Then
Set myIE = GetNewIE
myIE.Visible = True
If LoadWebPage(myIE, myPageURL) = False Then
MsgBox "Couldn't open page"
Exit Sub
End If
End If

Sleep (2000)

While myIE.Busy
Wend

myIE.Document.all.Item("_ctl1:btn_concluir").Click 'aqui é que quando o botão é clicado abre uma janela de confirmação e mesmo com o debug não sai do comando enquanto não clicar manualmente

myIE.Quit


.Edit
!Visto = True
!Feito = True
.Update


Sleep (2000)

End If
.MoveNext
Loop
.Close
End With

End Sub
DomSimão
 
Mensagens: 4
Registrado em: Qui Mai 17, 2012 8:15 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor webmaster » Sex Mai 18, 2012 3:19 pm

Simão,

Agora entendi o problema da mensagem. Acredito que a resposta que procura está aqui:

http://www.mrexcel.com/forum/showthread.php?t=426740

Em detalhes, é provável que o "_ctl1:btn_concluir" seja um submit, mas com uma função de confirm no onclick. O que o link acima recomenda é remover o atributo e recolocá-lo com retorno verdadeiro, ativando sua função original.

Código: Selecionar todos
IE.Document.getElementById("clearRelItems").removeAttribute ("o n C l i c k")
IE.Document.getElementById("clearRelItems").setAttribute "o n C l i c k", "return true"


Veja se resolve.

Abraços
Tomás
http://www.tomasvasquez.com.br/blog
http://twitter.com/tomamais
Gostou da resposta? Clique no ícone Imagem da mensagem!
Se sua dúvida foi solucionada, acrescente [RESOLVIDO] ao título.

O autor desta mensagem webmaster foi agradecido por:
DomSimão (Ter Mai 22, 2012 3:43 pm)
Qualificação: 20%
 
Avatar do usuário
webmaster
Administrador
 
Mensagens: 1724
Registrado em: Sex Jul 24, 2009 2:44 pm
Agradecimentos dados: 104 vezes
Agradecimentos recebidos: 78 vezes

Re: Interação VBA com Internet Explorer (dúvidas)

Mensagempor DomSimão » Seg Mai 21, 2012 6:08 am

Bom dia,
Na mouche, és o maior.....

Muito obrigado.
Cmps
Simão
DomSimão
 
Mensagens: 4
Registrado em: Qui Mai 17, 2012 8:15 am
Agradecimentos dados: 1 vez
Agradecimentos recebidos: 0 vez

Anúncios

AnteriorPróximo

Voltar para Artigos do Site e Blog

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante