Vídeo recomendado
https://youtu.be/diWPPPhW-9E
https://youtu.be/diWPPPhW-9E
Interação VBA com Internet Explorer (dúvidas)
Re: Interação VBA com Internet Explorer (dúvidas)
Acho que devia ter usado o Google translator, mas isso significa que funcionou?
Re: Interação VBA com Internet Explorer (dúvidas)
Na mouche é uma expressão Portuguesa que significa Em Cheio.
Funciona que é uma maravilha. Mais uma vez obrigado.
Funciona que é uma maravilha. Mais uma vez obrigado.
Re: Interação VBA com Internet Explorer (dúvidas)
Bom dia a todos! Eu lí todo o tópico e não consegui encontrar nada que me auxiliasse no meu problema. Tenho uma rotina que "pega" dados de uma tabela. Ela funciona perfeitamente quando utilizo a URL "http://www.bmfbovespa.com.br/pt-br/merc ... dCVM=20800", porém quando altero este endereço para "http://www.bmfbovespa.com.br/Cias-Lista ... ioma=pt-br" aparece uma mensagem "A variável do objeto ou a variável do bloco With não foi definida". Alguém sabe o motivo? Segue a rotina alterada.
Sub Dados()
Dim doc As Object
Set doc = CreateObject("HTMLFile")
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://www.bmfbovespa.com.br/Cias-Lista ... ioma=pt-br"
.send
Do: DoEvents: Loop Until .ReadyState = 4
doc.body.innerHTML = .responseText
.abort
End With
With doc.getElementsByTagName("Table")(2)
Sheets(2).Range("h3").Value = .Rows(0).Cells(1).outerText
Sheets(2).Range("h4").Value = .Rows(0).Cells(2).outerText
End With
End Sub
Sub Dados()
Dim doc As Object
Set doc = CreateObject("HTMLFile")
With CreateObject("MSXML2.XMLHTTP")
.Open "GET", "http://www.bmfbovespa.com.br/Cias-Lista ... ioma=pt-br"
.send
Do: DoEvents: Loop Until .ReadyState = 4
doc.body.innerHTML = .responseText
.abort
End With
With doc.getElementsByTagName("Table")(2)
Sheets(2).Range("h3").Value = .Rows(0).Cells(1).outerText
Sheets(2).Range("h4").Value = .Rows(0).Cells(2).outerText
End With
End Sub
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Boa noite a todos.
Para os interessados no assunto, encontrei um site bem bacana dando explicações sobre como se trabalhar com a referëncia Microsoft Internet Controls.
http://officevbavsto.blogspot.com.br/se ... 20Internet
Valhe a pena dar uma verificada.
Abraço a todos.
Para os interessados no assunto, encontrei um site bem bacana dando explicações sobre como se trabalhar com a referëncia Microsoft Internet Controls.
http://officevbavsto.blogspot.com.br/se ... 20Internet
Valhe a pena dar uma verificada.
Abraço a todos.
Re: Interação VBA com Internet Explorer (dúvidas)
TOmas e Colegas,
Estou querendo acessar o site do Registrobr e já transferir os dados da minha planilha para a página do registro. Porém, eu queria mais do que me dizerem como fazer, aprender como eu ídentificopara qual objeto da página eu devo enviar meus dados.
Valeu
Estou querendo acessar o site do Registrobr e já transferir os dados da minha planilha para a página do registro. Porém, eu queria mais do que me dizerem como fazer, aprender como eu ídentificopara qual objeto da página eu devo enviar meus dados.
Valeu
Re: Interação VBA com Internet Explorer (dúvidas)
Salve, Galera!
Li todo o post mas ainda tenho uma dúvida sobre como pesquisar dados em uma página em HTML. Estou tentando adaptar uma macro para realizar uma pesquisa em um site na intranet da empresa que trabalho (até aqui OK!). Após a pesquisa, se o dado pesquisado não constar na base de dados, o site retorna a informação "não existe contrato cadastrado", então como capturar esta informação e inseri-la no excel ?
A partir desta dúvida surgiu a seguinte: é possível uma macro pesquisar uma palavra em uma página em html, por exemplo realizar uma busca que retorne quantas vezes a palavra "Roma" aparece na pagina http://pt.wikipedia.org/wiki/Wikip%C3%A ... _principal
Agradeço se puderem me ajudar.
Valeu!
Li todo o post mas ainda tenho uma dúvida sobre como pesquisar dados em uma página em HTML. Estou tentando adaptar uma macro para realizar uma pesquisa em um site na intranet da empresa que trabalho (até aqui OK!). Após a pesquisa, se o dado pesquisado não constar na base de dados, o site retorna a informação "não existe contrato cadastrado", então como capturar esta informação e inseri-la no excel ?
A partir desta dúvida surgiu a seguinte: é possível uma macro pesquisar uma palavra em uma página em html, por exemplo realizar uma busca que retorne quantas vezes a palavra "Roma" aparece na pagina http://pt.wikipedia.org/wiki/Wikip%C3%A ... _principal
Agradeço se puderem me ajudar.
Valeu!
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Bom dia a todos.
1 - Abra o navegador;
2 - Aperte F12. Vai aparecer uma tela com o Código Fonte do site aberto;
3 - Nesta tela aperte Ctrl+B. Volte ao navegador e selecione o objeto (caixa de texto, botão, etc.);
4 - Na tela com os Códigos Fontes estará com o nome do objeto em destaque.
Espero que está dica possa ajudar.
Abraços.
Tem um recurso do InternetExplorer que pode lhe ajudar nisso.Guima escreveu:TOmas e Colegas,
Estou querendo acessar o site do Registrobr e já transferir os dados da minha planilha para a página do registro. Porém, eu queria mais do que me dizerem como fazer, aprender como eu ídentificopara qual objeto da página eu devo enviar meus dados.
Valeu
1 - Abra o navegador;
2 - Aperte F12. Vai aparecer uma tela com o Código Fonte do site aberto;
3 - Nesta tela aperte Ctrl+B. Volte ao navegador e selecione o objeto (caixa de texto, botão, etc.);
4 - Na tela com os Códigos Fontes estará com o nome do objeto em destaque.
Espero que está dica possa ajudar.
Abraços.
Re: Interação VBA com Internet Explorer (dúvidas)
Ola Mikel,
Mais uma vez voce me salvando meu caro. Principalmente porque queria muito aprender como descobrir o objeto
Acho que fiz corretamente, conforme orientou, mas o nome do objeto eu devo ter pego errado, ou então na estrutura do código. Posto ele abaixo para que possa me ajudar.
Mais uma vez voce me salvando meu caro. Principalmente porque queria muito aprender como descobrir o objeto
Acho que fiz corretamente, conforme orientou, mas o nome do objeto eu devo ter pego errado, ou então na estrutura do código. Posto ele abaixo para que possa me ajudar.
Código: Selecionar todos
Sub FREG()
Dim ie As InternetExplorer
Dim elem
Dim tbl
Dim tr
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
.StatusBar = False
.Toolbar = False
.Resizable = False
.AddressBar = False
.Visible = True
.Navigate "https://registro.br/cgi-bin/whois/#lresp"
Do While .Busy Or _
.ReadyState <> 4
DoEvents
Loop
.Document.all.Item("input").Value = Sheets("BASE DE DADOS").Range("M1")
Set objIE = Nothing
End With
End Sub
- Mikel Silveira Fraga
- Jedi
- Mensagens: 1173
- Registrado em: Sex Mai 27, 2011 3:27 pm
- Localização: Governador Valadares - MG
- Contato:
Re: Interação VBA com Internet Explorer (dúvidas)
Guima, boa noite.
Bem, encontrei alguns erros no seu código: o direcionamento do objeto e a declaração da variável InternetExplorer.
Primeiro, vamos ver o direcionamento do objeto da página.
Veja abaixo o código referente ao Site (HTML):
O input, ao qual você se referiu, é na realidade uma instrução em HTML, utilizada para a criação de objetos de um formulário. Neste caso do type="text", ou Caixa de Texto.
Os objetos de um formulário HTML possuem dois tipos básicos de identificação: name ou id. Neste exemplo, ele esta utilizando apenas o name, então não podemos utilizar o comando Document.all.Item(), pois este é utilizado de forma generalizada e a identificação utilizada é o id.
Para resolver o seu problema é preciso realizar o direcionamento da busca pelo name do objeto. Para isso vamos utilizar o seguinte comando:
Como estamos direcionando para o name, então dentro das Aspas/Parênteses devemos colocar o name do objeto, neste caso o qr.
Agora vamos analisar a situação da declaração da variável:
Neste caso houve apenas uma falta de observação no código. Veja como foi declarada sua variável:
Em vários pontos do código, ao invés de utilizar o nome da variável como ie, esta sendo utilizado objIE:
Realizei as correções necessárias e testei. No meu notebook funcionou perfeitamente.
Uma outra dica: eu deixei a algumas mensagens atrás, neste mesmo tópico, um link falando sobre a integração de VBA + Internet Explorer.
De uma lida e não vai se arrepender. Somente depois de ler esse tópico e precisar utilizar esse tipo de comunicação, foi que comecei a entender melhor o funcionamento dessa união. Ter conhecimento básico de HTML ajuda um pouco, mas não é fundamental.
Abraços e bons estudos.
Bem, encontrei alguns erros no seu código: o direcionamento do objeto e a declaração da variável InternetExplorer.
Primeiro, vamos ver o direcionamento do objeto da página.
Veja abaixo o código referente ao Site (HTML):
Código: Selecionar todos
<input name="qr" style="height: 25px; font-size: 12pt;" type="text" size="20" maxlength="50" value=""/>
Os objetos de um formulário HTML possuem dois tipos básicos de identificação: name ou id. Neste exemplo, ele esta utilizando apenas o name, então não podemos utilizar o comando Document.all.Item(), pois este é utilizado de forma generalizada e a identificação utilizada é o id.
Para resolver o seu problema é preciso realizar o direcionamento da busca pelo name do objeto. Para isso vamos utilizar o seguinte comando:
Código: Selecionar todos
.Document.getElementsByName("qr").Item.InnerText = Sheets("BASE DE DADOS").Range("M1")
Agora vamos analisar a situação da declaração da variável:
Neste caso houve apenas uma falta de observação no código. Veja como foi declarada sua variável:
Código: Selecionar todos
Dim ie As InternetExplorer
Código: Selecionar todos
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
Set objIE = Nothing
Uma outra dica: eu deixei a algumas mensagens atrás, neste mesmo tópico, um link falando sobre a integração de VBA + Internet Explorer.
De uma lida e não vai se arrepender. Somente depois de ler esse tópico e precisar utilizar esse tipo de comunicação, foi que comecei a entender melhor o funcionamento dessa união. Ter conhecimento básico de HTML ajuda um pouco, mas não é fundamental.
Abraços e bons estudos.