Páginas

quarta-feira, 9 de dezembro de 2009

Valor do Papel na Bovespa

Esta função personalizada (UDF) retorna, à partir de um do código do papel passado como parâmetro para a função.


Public Function RetornaValorAtual(Papel As String)
'Desenvolvida por Bruno Leite
'bruno_silva_leite@yahoo.com.br

Dim ie As Object
Set ie = CreateObject("InternetExplorer.Application")

ie.Navigate "http://www.bmfbovespa.com.br/Pregao-Online/FormConsultaCotacoes.asp?idLapela=divLapelaCotacao&idPainel=divConteudoCotacao"

 'Aguardando o carregamento
 While ie.ReadyState <> READYSTATE_COMPLETE
  DoEvents
 Wend

ie.Visible = True


'Enviando as informações

ie.Document.forms.Item(0).all.Item("txtCotacao1").Value = Papel

ie.DocumentDoc.forms.Item(0).all.Item("btnCotacao4").Click


'Retornando o valor

RetornaValorAtual = ie.Document.getElementsByTagName("td").Item(ie.Document.getElementsByTagName("td").Length - 2).innerText

ie.Quit

Set ie = Nothing

End Function

Em uma célula qualquer digite = RetornaValorAtual("BVMF3"), a função irá retornar o valor da última cotação do Papel BVMF3.

3 comentários:

Anônimo disse...

Caro Bruno,
eu tinha feito o comentário acima, mas estava todo errado.
É o seguinte:
eu testei esta função aqui e não funcionou.
A fórmula fica lá um bom tempo "congelada" e não retorna o valor da ação.
As macros estão habilitadas (Excel 2003) e outras funções estão funcionando.
Mas esta aí não funcionou...
Outra coisa,
neste site da bovespa, tem vários dados do ativo (além do último preço)
Será que dá pra incrementar esta função de modo que ela pegue os outros valores também ?
Ou talvez criar outras com os outros "txtCotacao" para último, max, min, abertura...
Será que vc saberia me dizer o que fiz de errado pra função não funcionar aqui ?
Valeu.Parabéns pelo blog.
Flávio

Bruno Leite disse...

Flávio vou verificar, aqui funcionou quando fiz,tenho outras formas de buscar este valor.
Logo posto uma correção por aqui
[]´s

Anônimo disse...

Bruno,
com as referências que vc postou na outra dica,
eu consegui fazer a retornaValor funcionar aqui
Espetacular.
Agora esta RetornaValorAtual não funciona
Colei este código no mesmo módulo da outra
A primeira funciona mas esta aí não funciona (dá #VALOR)
Será que tem alguma outra referência para esta aí funcionar ?

Postar um comentário

Related Posts Plugin for WordPress, Blogger...