Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Vba - emular.
-
- Colaborador
- Mensagens: 10
- Registrado em: Qua Dez 30, 2015 5:34 am
Vba - emular.
Olá amigos,
Meu nome é Rafael, e estou me arriscando no vba tem um tempinho... Mas cheguei a um ponto que não encontrei respostas e/ou exemplos exclarecedores para minha ignorância... estou tentando emular um site (consultas de cpf, para saber se o portador possui margem de crédito, se possuir minha equipe aborda de uma forma diferente de que se não possuir).
O trecho da página é:
<div class ="dados>
Cpf *
<br><br>
<input name="divfiltros:cpfservidor" class="w130" id="id28" type="text" value=""></input>
</div>
Eu tentei fazer assim:
Ie.Document.GetElementById("id28").innertext = "CPF que vou pesquisar"
Em outros trabalhos parecidos tinha dado certo, mas nesse caso da erro, poderiam me ajudar?
Pois a intenção é adicionar o cpf ao campo de pesquisa e depois clicar no botão pesquisar e em seguida colocar na planilha o resultado daquele cpf (tudo via vba)... Já fiz isso em outra situação, sei que é possível, mas meus conhecimentos (o que não é muito) não está sendo suficiente "/
Desde já agradeço a todos.
Meu nome é Rafael, e estou me arriscando no vba tem um tempinho... Mas cheguei a um ponto que não encontrei respostas e/ou exemplos exclarecedores para minha ignorância... estou tentando emular um site (consultas de cpf, para saber se o portador possui margem de crédito, se possuir minha equipe aborda de uma forma diferente de que se não possuir).
O trecho da página é:
<div class ="dados>
Cpf *
<br><br>
<input name="divfiltros:cpfservidor" class="w130" id="id28" type="text" value=""></input>
</div>
Eu tentei fazer assim:
Ie.Document.GetElementById("id28").innertext = "CPF que vou pesquisar"
Em outros trabalhos parecidos tinha dado certo, mas nesse caso da erro, poderiam me ajudar?
Pois a intenção é adicionar o cpf ao campo de pesquisa e depois clicar no botão pesquisar e em seguida colocar na planilha o resultado daquele cpf (tudo via vba)... Já fiz isso em outra situação, sei que é possível, mas meus conhecimentos (o que não é muito) não está sendo suficiente "/
Desde já agradeço a todos.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Vba - emular.
Rafael Nunes, boa noite e seja bem vindo ao fórum.
Bem, para facilitar a análise do motivo por não estar dando certo seu comando, seria bom que você disponibilizasse o código do acesso completo para testes, além do endereço do site que esta tentando acessar.
Caso seja alguma página com acesso via Usuário/Senha, o ideal seria o código completo da página, copiada em formato txt e anexado no fórum.
Ficamos no aguardo.
Bem, para facilitar a análise do motivo por não estar dando certo seu comando, seria bom que você disponibilizasse o código do acesso completo para testes, além do endereço do site que esta tentando acessar.
Caso seja alguma página com acesso via Usuário/Senha, o ideal seria o código completo da página, copiada em formato txt e anexado no fórum.
Ficamos no aguardo.
-
- Colaborador
- Mensagens: 10
- Registrado em: Qua Dez 30, 2015 5:34 am
Re: Vba - emular.
Olá Mikel Silveira Fraga, tudo bem?
Em anexo a pagina e o trecho que consegui desenvolver.
Obrigado!
Em anexo a pagina e o trecho que consegui desenvolver.
Obrigado!
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Vba - emular.
Rafael, boa noite.
Cara, estava vendo os códigos que você enviou e vou adicionar duas observações:
- Código do VBA:
No código VBA, vi que estava incompleta sua instrução. Faça as alterações abaixo:
- Código da Página:
Não consegui localizar o id28 na parte do site que você enviou no arquivo em anexo. Por esse motivo, não consegui realizar uma análise completa da situação.
Infelizmente é muito complicado conseguir analisar um código sem poder testar.
Dê uma olhada nas duas situações que apontei acima e veja se resolve.
Caso continue com o problema, entre em contato novamente.
Fico no aguardo de seu retorno.
Cara, estava vendo os códigos que você enviou e vou adicionar duas observações:
- Código do VBA:
No código VBA, vi que estava incompleta sua instrução. Faça as alterações abaixo:
Código: Selecionar todos
ie.getElementsById("id28").innerText = "333333333333" 'depois eu mudo esse valor para uma variavel.
Código: Selecionar todos
ie.document.getElementById("id28").innerText = "333333333333" 'depois eu mudo esse valor para uma variavel.
Não consegui localizar o id28 na parte do site que você enviou no arquivo em anexo. Por esse motivo, não consegui realizar uma análise completa da situação.
Infelizmente é muito complicado conseguir analisar um código sem poder testar.
Dê uma olhada nas duas situações que apontei acima e veja se resolve.
Caso continue com o problema, entre em contato novamente.
Fico no aguardo de seu retorno.
-
- Colaborador
- Mensagens: 10
- Registrado em: Qua Dez 30, 2015 5:34 am
Re: Vba - emular.
Olá Mikel, desculpe pela demora na resposta.
Consegui adicionar o cpf e clicar no botão pesquisar, realmente estava incompleto minha escrita .
Uma coisa que eu observei na página é que toda vez eu logo nela, o nome dos campos muda. Por isso tu não achou o ID28 (nem sabia que dava para fazer isso-se bem que eu sei quase nada dessa vida ).
Agora estou na dificuldade de tirar o resultado da pesquisa (que está em uma tabela) e colocar na planilha.
Consegui adicionar o cpf e clicar no botão pesquisar, realmente estava incompleto minha escrita .
Uma coisa que eu observei na página é que toda vez eu logo nela, o nome dos campos muda. Por isso tu não achou o ID28 (nem sabia que dava para fazer isso-se bem que eu sei quase nada dessa vida ).
Agora estou na dificuldade de tirar o resultado da pesquisa (que está em uma tabela) e colocar na planilha.
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Vba - emular.
Rafael, bom dia.
Cara, retirar a informação da tabela não é complicado, mas como sempre, depende da estrutura. O que quero dizer com estrutura?
A Tag para tabela se chama Table. Se a página esta usando XHtml, as Tags existentes são Table (tabela), Tr (linha tabela) e Td (célula de dados na linha). Já se for o Html5, já existem outras Tags: Table (tabela), THead (cabeçalho), TFoot (rodapé) e TBody (corpo da tabela). Já dentro de cada uma dessas partes, vem o Tr (linha) e Td (célula da linha), menos no THead, que é utilizado Tr e Th (célula cabeçalho).
Outro ponto que pode ser utilizado para acessar essas tabelas são os Atributos Básicos na Linguagem HTML, que são: id, name e class.
Então, como pode ver, são várias possibilidades que podemos utilizar para acessar as informações da tabela, seja via as Tags ou pelos Atributos.
Nesse caso, te aconselho acessar os modelos existentes no fórum, onde existem vários modelos que foram publicados. Sugiro dar uma olhada no link Interação VBA com Internet Explorer (dúvidas), onde foram discutidos vários exemplos no decorrer dos últimos 5 anos.
Outra sugestão, é estudar os exemplos e modelos existentes nessa seção do fórum: Excel - Integração com a Web.
Também aconselho dar uma estudada na estrutura da Linguagem HTML. Dou duas dicas sobre onde encontrar bons materiais:
- HTML Tutorial na W3School
- Curso de (X)HTML no Canal Java&Cia (antiga Universidade XTI)
Caso tenha alguma nova dúvida, pode enviar por aqui, mas aconselho dar olhada em todas as dicas apontadas acima.
Abraços e excelente feriado e final de semana.
Cara, retirar a informação da tabela não é complicado, mas como sempre, depende da estrutura. O que quero dizer com estrutura?
A Tag para tabela se chama Table. Se a página esta usando XHtml, as Tags existentes são Table (tabela), Tr (linha tabela) e Td (célula de dados na linha). Já se for o Html5, já existem outras Tags: Table (tabela), THead (cabeçalho), TFoot (rodapé) e TBody (corpo da tabela). Já dentro de cada uma dessas partes, vem o Tr (linha) e Td (célula da linha), menos no THead, que é utilizado Tr e Th (célula cabeçalho).
Outro ponto que pode ser utilizado para acessar essas tabelas são os Atributos Básicos na Linguagem HTML, que são: id, name e class.
Então, como pode ver, são várias possibilidades que podemos utilizar para acessar as informações da tabela, seja via as Tags ou pelos Atributos.
Nesse caso, te aconselho acessar os modelos existentes no fórum, onde existem vários modelos que foram publicados. Sugiro dar uma olhada no link Interação VBA com Internet Explorer (dúvidas), onde foram discutidos vários exemplos no decorrer dos últimos 5 anos.
Outra sugestão, é estudar os exemplos e modelos existentes nessa seção do fórum: Excel - Integração com a Web.
Também aconselho dar uma estudada na estrutura da Linguagem HTML. Dou duas dicas sobre onde encontrar bons materiais:
- HTML Tutorial na W3School
- Curso de (X)HTML no Canal Java&Cia (antiga Universidade XTI)
Caso tenha alguma nova dúvida, pode enviar por aqui, mas aconselho dar olhada em todas as dicas apontadas acima.
Abraços e excelente feriado e final de semana.
-
- Colaborador
- Mensagens: 10
- Registrado em: Qua Dez 30, 2015 5:34 am
Re: Vba - emular. [RESOLVIDO]
Olá meu amigo,
Primeiro gostaria de agradecer as respostas e as suas explicações, foram de muita importância.
Consegui fazer o meu "robo"... Depois (na segunda feira) eu tento colocar o código aqui, sei que tá mau escrito, sem estética e pouco estruturado... (Afinal, estudante de psicologia se arriscando em vba não seria algo perfeito) hehehe
Obrigado amigão! Um ótimo fim de semana!
Primeiro gostaria de agradecer as respostas e as suas explicações, foram de muita importância.
Consegui fazer o meu "robo"... Depois (na segunda feira) eu tento colocar o código aqui, sei que tá mau escrito, sem estética e pouco estruturado... (Afinal, estudante de psicologia se arriscando em vba não seria algo perfeito) hehehe
Obrigado amigão! Um ótimo fim de semana!