• 0
Sign in to follow this  
marconiz

Interação VBA Internet Explorer

Question

Boa noite galera.

Sou novo nesse fórum, mas já percebi que o nível da galera é muito bom. Quanto a mim, sou iniciante em VBA, gosto de automatizar tarefas repetitivas e estou sempre a buscar aprimorar o conhecimento, principalmente na área de informática.

Vamos ao que interessa:

Tenho uma macro que acessa um site e preenche um formulário. Esse fomulário após devidamente preenchido deve gerar uma guia no formato PDF, ou o melhor, há um botão que faz o download da guia.

Já fiz esse procedimento com um outro site, que também gera uma guia ao final e tudo funciona perfeitamente, inclusive o click no botão que dispara a guia. Mas, com relação a esse último form que estou trabalhando, já quebrei bastante a cabeça e não consegui fazer o download da bendita guia. Já tentei o comando .document.all(nome).click e .document.form(0).submit, mas nada ocorre. Já varri o código fonte inteiro, a procura do botão correto para o click, sem sucesso.

Obs: O formulário é preenchido em duas etapas, sendo que já conclui a primeira e consegui avança para a segunda, mas travei na emissão da guia.

Assim, meus caros, peço que me ajudem nessa questão. Segue código VBA e um trecho da código fonte, no qual eu suspeito que esteja a solução do problema.

Public Sub Imprimir_1()
On Error Resume Next
Dim Endereço As String
Dim Endereço2 As String
Dim MyBrowser As SHDocVw.InternetExplorer
'aaaaaaaaaaaaaaaaaa
'aaaaaaaaaaaaaaaaaa
Endereço = "http://www.grfrecursal.caixa.gov.br/sisfg/pages/sfg/recursal/iniciar.jsf"
Endereço2 = "http://www.grfrecursal.caixa.gov.br/sisfg/pages/sfg/recursal/recolhimento.jsf"
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate (Endereço)
IE.Visible = True
IE.Document.Forms.Item("frm").Item(2).Value = "33000167000101" 'CNPJ

While IE.ReadyState <> 4
Wend
IE.Document.Forms.Item("frm").Item(3).Value = "Petroleo Brasileiro SA" 'Razão Social
While IE.ReadyState <> 4
Wend
IE.Document.Forms.Item("frm").Item(4).Value = "Marconi" 'Nome de Contato
While IE.ReadyState <> 4
Wend
IE.Document.Forms.Item("frm").Item(5).Value = "8432354872" 'Telefone de Contato
While IE.ReadyState <> 4
Wend
IE.Document.Forms.Item("frm").Item(9).Value = "33000167000101" 'CNPJ

While IE.ReadyState <> 4
Wend

IE.Document.all("frm:j_id81").Click

Trecho do código fonte

<div class="botoes_linha" style="height:70px; top:110px"> <div style="; margin-left:594px; "><a href="#" onmouseup="refresh(10000)" tabindex="19" type="submit" onclick="var a=function(){if (! validateFormLocal()) {return false};A4J.AJAX.Submit('frm',event,{'parameters':{'ajaxSingle':'frm:j_id141','frm:j_id142':'frm:j_id142'} ,'similarityGroupingId':'frm:j_id142'} );};var b=function(){if(typeof jsfcljs == 'function'){jsfcljs(document.getElementById('frm'),{'frm:j_id141':'frm:j_id141'},'');}return false};return (a()==false) ? false : b();" type="submit"> <img src="../../../imagens/bt_gerar_guia.jpg" border="0" alt="bot&atilde;o continuar" /></a>

Abraço

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this