Esta função personalizada (UDF) retorna, à partir de um do código do papel passado como parâmetro para a função. Em uma célula qualquer digite = RetornaValorAtual("BVMF3"), a função irá retornar o valor da última cotação do Papel BVMF3.
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
quarta-feira, 9 de dezembro de 2009
Valor do Papel na Bovespa
20:36
Bruno Leite
3 comentários:
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
Flávio vou verificar, aqui funcionou quando fiz,tenho outras formas de buscar este valor.
Logo posto uma correção por aqui
[]´s
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