Vídeo recomendado
https://youtu.be/diWPPPhW-9E

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

Perguntas e Repostas sobre os artigos, posts e arquivos que são postados no site
@ffonso
Acabou de chegar
Acabou de chegar
Mensagens: 4
Registrado em: Dom Ago 29, 2010 12:02 am

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

Mensagem por @ffonso »

webmaster escreveu:Colega,

No caso da sua página, o botão de login não tem nome ou identificador (propriedade name ou id). Creio que você terá que forçar o Submit no form. Tente alterar a linha destacada para:

Código: Selecionar todos

ie.Document.Forms(0).Submit
Veja se funciona.

Abraços






Cara funcionou certinho, mas ainda tenho dúvidas quanto a adaptação às minhas necessidades.

Gostei muito mesmo desse tópico e ficaria muito grato de alguém me recomendasse novas fontes sobre o tema.

Valew,

Até mais,


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

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

Mensagem por webmaster »

Colega,

50% do conhecimento necessário para entender e desenvolver o código mencionado é VBA. Os outros 50% é sobre estrutura de páginas Web. Claro, isso e mais toda a bagagem que cada uma dessas áreas de conhecimento implica.

Fontes? Há milhares, começando por aqui, certo? ;)

Abraços


HILLES
Colaborador
Colaborador
Mensagens: 37
Registrado em: Qua Ago 11, 2010 9:00 am

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

Mensagem por HILLES »

Bom dia, estou tentando fazer um formulario com acesso a internet e fiz um teste com este código em discussão, mas qdo vou executá-lo aparece o seguinte erro: "Erro de compilação: variavel nao definida" , com a seguinte parte destacada: "READYSTATE_COMPLETE".
Como faço para corrigir isso?


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

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

Mensagem por webmaster »

HILLES,

Nas referências do VBA, marque a opção Microsoft Internet Controls.

Abraços


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


HILLES
Colaborador
Colaborador
Mensagens: 37
Registrado em: Qua Ago 11, 2010 9:00 am

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

Mensagem por HILLES »

Erro resolvido, mas agora quando tenta abrir a pagina aparece o seguinte erro: "Erro em tempo de execução 91: "a variavel do objeto ou a variavel do bloco With não foi definida"
e a seguinte parte do codigo aparece destacada: ie.Document.all("login_username").innerText = MyLogin


HILLES
Colaborador
Colaborador
Mensagens: 37
Registrado em: Qua Ago 11, 2010 9:00 am

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

Mensagem por HILLES »

Segue o site que estou tentando acessar através do formulario: http://patobranco.tan.com.br/sasnt/swf/SAS.php.
O problema talvez seja com relação as variaveis: login e senha que no meu caso pode estar com nome diferente, mas não sei como descobrir o nome certo das variaveis no site. Tentei acessar o codigo do site, mas tem alguns detalhes em Flash e não consegui encontrar as variaveis.


Avatar do usuário
webmaster
Administrador
Mensagens: 3114
Registrado em: Sex Jul 24, 2009 2:44 pm
Contato:

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

Mensagem por webmaster »

HILLES,

Desculpe, formulários em flash, sem chance. A não que a programação flash o permita, mas aí precisaríamos saber detalhes do arquivo flash.

Abraços


Jaime
Acabou de chegar
Acabou de chegar
Mensagens: 1
Registrado em: Ter Nov 09, 2010 6:56 pm

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

Mensagem por Jaime »

webmaster escreveu:Thor,

Tente isso:

Código: Selecionar todos

Sub Lanca_Dados()
    Dim oWeb As Object

    Set oWeb = CreateObject("InternetExplorer.Application")
    oWeb.Navigate "http://sicau.agu.gov.br/sicauweb/main.asp"
    oWeb.Visible = True
    
    Do Until oWeb.ReadyState = READYSTATE_COMPLETE
    Loop

    oWeb.Document.frames(1).Document.all("id_usuario").innerText = InputBox("Digite seu Usuário: ", "Login - SICAU", "???")
End Sub
Para ajustar o código, é preciso entender como está construído o HTML da página e suas considerações, frames, hierarquia, nomes dos campos, enfim. Só assim é possível capturar os elementos e interagir com eles.

Abraços
-------------------------------------------------------------------------------------------------------------------------------------

Como eu poderia adaptar esta macro pra baixar resultados de loterias da caixa em formato .xls?

Links para baixar os arquivos atualizados: (seria possível todos na mesma macro ou uma macro para cada?)
http://www1.caixa.gov.br/loterias/_arqu ... megase.zip
http://www1.caixa.gov.br/loterias/_arqu ... lotfac.zip
http://www1.caixa.gov.br/loterias/_arqu ... lotoma.zip
http://www1.caixa.gov.br/loterias/_arqu ... _quina.zip
http://www1.caixa.gov.br/loterias/_arqu ... dplsen.zip
http://www1.caixa.gov.br/loterias/_arqu ... timema.zip

Tipo assim, os arquivos estão no formato zip, e fora de ordem, queria descompactar no excel com as dezenas já em ordem.
Consegui me expressar corretamente para que entendessem?

supremejaime@yahoo.com.br

Jaime.


davidemartinijr
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Sáb Jun 05, 2010 7:21 pm

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

Mensagem por davidemartinijr »

Prezados colaboradores, boa tarde.
Este tópico ficou excelente e muito esclarecedor, mas se for possível, gostaria de mais uma ajuda, lembrando que sou apenas um leigo fuçado. :)
Fiz toda a interação de uma planilha excel com um site web onde o excel, faz a interação.
Os campos de texto, o preencimento é bem tranquilo, mas não estou conseguindo uma forma para preencher os campos tipo "radio" e "select".

O código do site (http://www010.dataprev.gov.br/cws/conte ... index.html) é o seguinte:

<script>
document.write('<form method="POST" name="Form1" action=' + parent.RAIZ_COMS_BIN + '>');
</script>
...
<font size="2" face="Verdana">Sexo:&nbsp; </font>
<input type="radio" value="1" name="sexo"><font size="2" face="Verdana">M</font>
<input type="radio" value="3" name="sexo"><font size="2" face="Verdana">F</font></font></td>
</tr>
<tr>
<td width="27%"><font size="2" face="Verdana" color="#000000">Especie:
</font></td>
<td width="62%"><font color="#000000"><select size="2" name="especie" style="font-size: 8 pt; font-family: Arial">
<option selected value=" ">Selecione o tipo de Benefício</option>
<option>31 - Auxilio Doença</option>
<option>32 - Aposentadoria por Invalidez</option>
<option>41 - Aposentadoria por Idade</option>
<option>42 - Aposentadoria por Tempo de Contribuição</option>
<option>57 - Aposentadoria por Tempo de Serviço de Professor </option>
<option>80 - Salário Maternidade</option>
</select><font face="Verdana" size="2"> &nbsp;</font></font></td>

Criei uma variável "sexo" que guarda a informação 1 (masc) ou 3 (fem)
Outra variavel "especie" que guarda as informações do option, ex: 31 - Auxilio Doença

Minha macro está assim:
...
ie.Document.frames(0).Document.all("nome").innerText = nome --> Preenche o nome corretamente
ie.Document.frames(0).Document.all("datanasc").innerText = datanasc -- Preenche a data de nascimento corretamente
ie.Document.frames(0).Document.all("sexo").innerText = sexo
ie.Document.frames(0).Document.all("especie").innerText = especie
...

Então meu processo está semi-automatizado, pois eu preencho todos os campos (mais de 100) que são tipo texto e não consigo automatizar esses dois.

Alguém pode me ajudar?

Desde já agradeço.

Davi


davidemartinijr
Acabou de chegar
Acabou de chegar
Mensagens: 5
Registrado em: Sáb Jun 05, 2010 7:21 pm

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

Mensagem por davidemartinijr »

Deu certo.

A macro ficou da seguinte forma:

Enviar Texto: ie.Document.frames(0).Document.all("datanasc").innerText = [G3]
Selecionar Radio: ie.Document.frames(0).Document.getElementsByName("sexo")([E4]).Checked = True
Selecionar Option: ie.Document.frames(0).Document.getElementById("especie").Item([E5]).Selected = True

Obrigado pela ajuda.

Davi


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder