MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


4 participantes

    VBA Interagindo com Internet Explorer

    avatar
    Marconiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/08/2014

    VBA Interagindo com Internet Explorer Empty VBA Interagindo com Internet Explorer

    Mensagem  Marconiz 12/8/2014, 04:12

    Olá, boa noite.

    Tenho um código VBA que acessa uma página da Secretaria da Fazenda, preenche um formulário e emite uma guia. Funciona perfeitamente.

    Ocorre que eu o adaptei para acessar uma página da Caixa Econômica Federal, com finalidade similar. Nesse caso, o código funcionou em parte: preenche corretamente a primeira parte do formulário, mas na hora de passar para a próxima etapa (próxima tela) o comando ie.Document.all("bt_seta").Click não funciona.

    Pela pesquisa que fiz no código fonte o nome do botão é "bt_seta.gif", mas não acontece nada ao acioná-lo.

    Fico muito grato caso possam me ajudar.

    Abs.

    Segue código:

    Public Sub Imprimir_1()
    On Error Resume Next
    Dim Endereço As String
    Dim Endereço2 As String
    Dim MyBrowser As SHDocVw.InternetExplorer
    Dim SWs As New SHDocVw.ShellWindows

    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 = "04740876000125" 'CNPJ

    While ie.ReadyState <> 4
    Wend
    ie.Document.Forms.Item("frm").Item(3).Value = "Razão Social" '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 = "04740876000125" 'CNPJ

    While ie.ReadyState <> 4
    Wend

    ie.Document.all("bt_seta").Click

    Application.ScreenUpdating = True
    End Sub
    avatar
    Marconiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/08/2014

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Marconiz 15/8/2014, 04:55

    Olá, galera. Felizmente consegui avançar no código. Já conseguir acessar a segunda parte do formulário. Agora falta somente descobrir o comando para gerar a guia, ou seja, clicar em "gerar guia".
    Acredito que a solução esteja no trecho do código fonte a seguir:

    Código:

    <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ão continuar" /></a>

    Ainda aguardo a ajuda dos colegas . Muito obrigado, antecipadamente.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3900
    Registrado : 04/04/2010

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Avelino Sampaio 15/8/2014, 10:59

    Olá!

    Veja se este tópico ajuda.

    http://comunidade.itlab.com.br/eve/forums/a/tpc/f/273606921/m/6001073382?r=6001073382#6001073382

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Marconiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/08/2014

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Marconiz 16/8/2014, 04:27

    Obrigado pela sugestão, mas infelizmente não encontrei a resposta.

    Tive analisando a página do form que estou trabalhando e vi que o botão que preciso interagir faz um download do formulário no formato pdf. Só preciso identificar o nome desse botão, se é existe no código. já testei vários, sem sucesso.
    avatar
    Marconiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/08/2014

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Marconiz 19/8/2014, 02:39

    Ninguém pra compartilhar um pouquinho do conhecimento?

    Como disse, só preciso de ajuda pra entender como executar, no VBA, a função do javascript (essa do código fonte, que postei) que dispara o download da guia, na segunda parte do formulário.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Alexandre Neves 19/8/2014, 08:35

    Bom dia,
    Este fórum é de Access e tudo o que lhe interligue.
    O código baseia-se, como indicou, em javascript. Terá de ser alguém que o saiba ajudar. Fez bem em refrescar o pedido mas saiba que há muitos que só não o ajudam por impossibilidade.


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    Marconiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/08/2014

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Marconiz 19/8/2014, 15:22

    Ok. Tem razão. Mas, aguardo. Quem sabe não aparece alguém com maior vivência com VBA vs IE que possa me dá uma dica.

    Obrigado!
    avatar
    Junior Meireles
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 56
    Registrado : 14/08/2010

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Junior Meireles 19/8/2014, 20:36

    Tenta colocar esta linha para ver se muda de página


    ie.Document.parentwindow.execscript ("javascript:Verifica()")
    avatar
    Marconiz
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 6
    Registrado : 12/08/2014

    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Marconiz 20/8/2014, 00:27

    Obrigado Junior pela atenção.

    Felizmente consegui resolver o problema: não tava conseguindo executar o click porque não foi informado no código fonte a ID do botão, nesse caso precisei utilizar o método getElementsByTagName("A") com a função InStr, na instrução For Each ...Next.

    Informo no código a descrição da caixa de texto do botão (não é a ID), no caso "bt_gerar_guia.jpg", em seguinte o elemento é identificado e executa-se o click. Ficou assim:

    Set ElementCol = IE.Document.getElementsByTagName("a")
            For Each ele In IE.Document.getElementsByTagName("a")
                If InStr(ele.innerHTML, "bt_gerar_guia.jpg") > 0 Then
                ele.Click
                End If
                Next

    De todo modo, fica aqui o meu agradecimento aqueles que tentaram me ajuda nessa questão.

    Wlw.

    Conteúdo patrocinado


    VBA Interagindo com Internet Explorer Empty Re: VBA Interagindo com Internet Explorer

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 03:58