MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Captura Dólar Web

    Compartilhe

    msantolli
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 02/07/2012

    Captura Dólar Web

    Mensagem  msantolli em Seg 26 Jan 2015, 05:04

    Senhores,

    Estou tentando adaptar o exemplo do profº Avelino Sampaio (http://www.usandoaccess.com.br/dicas/capturando-data-e-hora-da-internet.asp), para capturar a Cotação do PTAX no site [Você precisa estar registrado e conectado para ver este link.] já fiz várias tentativas sem sucesso, até consigo capturar valores de outros sites, se estes valores estiverem em tabelas. Neste caso aqui, teria que usar o comando InnerText. Ajudem-me por favor.

    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 315
    Registrado : 14/02/2011

    Captura Dólar Web

    Mensagem  daniloreiis em Seg 26 Jan 2015, 23:51

    Ola amigo muito boa noite!

    poderia disponibilizar o projeto para melhor ajuda-lo ?


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------
    [Você precisa estar registrado e conectado para ver este link.]

    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Captura Dólar Web

    Mensagem  Avelino Sampaio em Ter 27 Jan 2015, 08:54

    Olá!

    Passe o intPos para LONG:

    Dim intPos As Long

    Passe o Document.All() para 1:

    PaginaHtml = objIE.Document.All(1).InnerHTML


    Use o "(ptax)" como referência:

    intPos = InStr(PaginaHtml, "(PTAX)") - 6 'aqui vc pegue a posição da data em diante

    Aguardamos


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 315
    Registrado : 14/02/2011

    Captura Dólar Web

    Mensagem  daniloreiis em Ter 27 Jan 2015, 12:43

    Olá meu amigo msantolli!

    deu trabalho mas acredito que deu resultado,

    graças ao Mestre Avelino, modifiquei o projeto "(http://www.usandoaccess.com.br/dicas/capturando-data-e-hora-da-internet.asp"

    busquei os valores do site "[Você precisa estar registrado e conectado para ver este link.]

    e cheguei no resultado do dolar compra e venda.

    segue projeto.

    abraços
    Anexos
    dolar_web.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (23 Kb) Baixado 41 vez(es)


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------
    [Você precisa estar registrado e conectado para ver este link.]

    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10

    msantolli
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 02/07/2012

    Captura Dólar Web

    Mensagem  msantolli em Qua 28 Jan 2015, 17:44

    Aos amigos Danilo e Avelino meu muito obrigado pela atenção sempre dispensada aos iniciantes aqui do fórum.

    Danilo, fiz download do seu exemplo e não funcionou, vou ver se consigo achar o erro.

    Grande abraço!

    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 315
    Registrado : 14/02/2011

    Captura Dólar Web

    Mensagem  daniloreiis em Qua 28 Jan 2015, 18:19

    Olá amigo, sabe me dizer qual erro:

    veja aqui funcionou.

    [Você precisa estar registrado e conectado para ver esta imagem.]

    segue projeto novamente.
    Anexos
    dolar_web2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (27 Kb) Baixado 30 vez(es)


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------
    [Você precisa estar registrado e conectado para ver este link.]

    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10

    msantolli
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 02/07/2012

    Re: Captura Dólar Web

    Mensagem  msantolli em Qua 28 Jan 2015, 18:59

    Danilo,

    Infelizmente nada acontece. O código termina e fica tudo em branco!

    msantolli
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 15
    Registrado : 02/07/2012

    Re: Captura Dólar Web

    Mensagem  msantolli em Qua 11 Fev 2015, 10:46

    Bom dia, pessoal!

    Alguém mais poderia dar uma força aqui? O código do Danilo está aparentemente certo, porque será que não funciona aqui pra mim? já tentei de tudo. É tão chato ter que atualizar manualmente esses valores todos os dias.

    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 315
    Registrado : 14/02/2011

    Captura Dólar Web

    Mensagem  daniloreiis em Qua 11 Fev 2015, 11:27

    Olá meu amigo muito bom dia !

    poderia me dizer ou ate mesmo postar aqui qual erro esta dando para você?

    para que eu possa ajudar melhor?

    acabei de rodar aquela modelo que eu postei e ja me deu o valor atualizado de 2,8069.

    [Você precisa estar registrado e conectado para ver esta imagem.]

    [Você precisa estar registrado e conectado para ver esta imagem.]

    abraços


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------
    [Você precisa estar registrado e conectado para ver este link.]

    Se alguém não quiser trabalhar, não coma também.
    2 Tessalonicenses 3:10

    RodrigoMalagodi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/05/2013

    Cotação Dólar

    Mensagem  RodrigoMalagodi em Qua 30 Dez 2015, 00:22

    Caros, no meu também não aparece nada, além dos valores et=win no campo Compra e " cont no campo Venda.

    Dei uma olhada no código e vi que a linha abaixo o link dá erro.

    objIE.Navigate "https://www3.bcb.gov.br/ptax_internet/consultarUltimaCotacaoDolar.do"

    Dei uma pesquisada no site do BCB e achei essa página abaixo, a qual mostrou a mesma informação, porém, no formulário do Access não mostra os valores.

    objIE.Navigate "http://www4.bcb.gov.br/pec/taxas/batch/taxas.asp?id=txdolar"

    O que preciso saber é se é preciso habilitar algum recurso e/ou suplemento no programa para que a função execute e traga os valores nos respectivos campos.

    Um abraço e Deus os abençoe.

    RodrigoMalagodi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/05/2013

    Cotação Dólar

    Mensagem  RodrigoMalagodi em Qua 30 Dez 2015, 01:17

    Galera, consegui fazer o sistema buscar os valores com o código abaixo.

    Option Compare Database
    Private Sub btCapturar2_Click()
    fncCapturaDataHora2
    'PTAX_COMPRA = ""
    'PTAX_VENDA = ""
    End Sub


    Function fncCapturaDataHora2() As Date
    Dim objIE As Object
    Dim intPos As Integer
    Dim PaginaHtml As String
    Dim ptax_venda_web As String
    'Dim ptax_compra_web As String
    On Error GoTo trataErro
    '----------------------------------------------------------
    'Verifica se o site está ativo
    'caso não esteja ativo, função assume valor falso de data
    '----------------------------------------------------------
    If Not fncSiteAtivo("[Você precisa estar registrado e conectado para ver este link.] Then
    fncCapturaDataHora2 = "0,00"
    Exit Function
    End If
    '-----------------------------------------------
    'Abre o Internet Explorer
    '-----------------------------------------------
    Set objIE = CreateObject("InternetExplorer.Application")
    '--------------------------------------
    'Esconde o navegador Internet Explorer
    '--------------------------------------
    objIE.Visible = False
    '--------------------------------------------------
    'Carrega a página do Observatório Nacional
    '---------------------------------------------------
    objIE.Navigate "https://ptax.bcb.gov.br/ptax_internet/consultarUltimaCotacaoDolar.do"
    '------------------------------------------------
    'Aguarda até o completo carregamento da página
    '------------------------------------------------
    Do While objIE.Busy: DoEvents: Loop
    Do While objIE.ReadyState <> 4: DoEvents: Loop
    '------------------------------------------------------
    'Passa todo o código HTML para a variável PaginaHtml
    '------------------------------------------------------
    PaginaHtml = objIE.Document.All(0).InnerHTML
    '--------------------------------------------------------------------
    'Encontra a posição da frase "Hora Oficial de Brasilia" no texto HTML
    '---------------------------------------------------------------------
    intPos = InStr(PaginaHtml, "CENTER") + 66

    '-------------------------------------------
    'passa para a função o valor da data e hora
    '-------------------------------------------

    'popula valor dolar compra
    PTAX_COMPRA = Replace(Replace(Mid(PaginaHtml, intPos, 7), "'ptax_compra_web = Mid(ptax_compra_web, 52, 6)
    'PTAX_COMPRA = ptax_compra_web
    'tratamento capturar dolar venda
    ptax_venda_web = Replace(Replace(Mid(PaginaHtml, intPos, 60), "ptax_venda_web = Mid(ptax_venda_web, 52, 6)
    'popupa valor dolar venda
    PTAX_VENDA = ptax_venda_web

    sair:
    '-----------------------------
    'Encerra o Internet Explorer
    '-----------------------------
    objIE.Quit
    Set objIE = Nothing
    Exit Function

    trataErro:
    fncCapturaDataHora2 = #1/1/1800#
    Resume sair
    End Function


    Private Function fncSiteAtivo(ByVal NomeSite As String) As Boolean
    Dim colPingResults As Object
    Dim oPingResult As Variant
    Dim strQuery As String
    strQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & NomeSite & "'"
    Set colPingResults = GetObject("winmgmts://./root/cimv2").ExecQuery(strQuery)
    For Each oPingResult In colPingResults
    If Not IsObject(oPingResult) Then
       fncSiteAtivo = False
    ElseIf oPingResult.StatusCode = 0 Then
    fncSiteAtivo = True
    Else
    fncSiteAtivo = False
    End If
    Next
    Set colPingResults = Nothing
    End Function

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: Captura Dólar Web

    Mensagem  Assis em Qua 30 Dez 2015, 11:07

    Rodrigo

    Pode postar o exemplo .
    Obrigado e Bom Ano


    .................................................................................
    *** Só sei que nada sei ***

    RodrigoMalagodi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/05/2013

    Cotação Dólar

    Mensagem  RodrigoMalagodi em Qua 30 Dez 2015, 13:00

    Bom dia Assis, posso sim cara!

    Dei uma adaptada à minha necessidade.Veja no exemplo que coloquei o formulário para atualizar os valores ao carregar, mas também tem a opção de atualizar clicando no botão.

    Não consegui enviar o arquivo em anexo, mas segue link do 4shared.com. para download.

    Link direto - dólar_web2

    Veja aí o código e também o anexo!

    ========================================Option Compare Database
    Private Sub btCapturar2_Click()
    fncCapturaDataHora2
    'PTAX_COMPRA = ""
    'PTAX_VENDA = ""
    End Sub


    Function fncCapturaDataHora2() As Date
    Dim objIE As Object
    Dim intPos As Integer
    Dim PaginaHtml As String
    Dim ptax_venda_web As String
    'Dim ptax_compra_web As String
    On Error GoTo trataErro
    '----------------------------------------------------------
    'Verifica se o site está ativo
    'caso não esteja ativo, função assume valor falso de data
    '----------------------------------------------------------
    If Not fncSiteAtivo("[Você precisa estar registrado e conectado para ver este link.] Then
       fncCapturaDataHora2 = "0,00"
       Exit Function
    End If
    '-----------------------------------------------
    'Abre o Internet Explorer
    '-----------------------------------------------
    Set objIE = CreateObject("InternetExplorer.Application")
    '--------------------------------------
    'Esconde o navegador Internet Explorer
    '--------------------------------------
    objIE.Visible = False
    '--------------------------------------------------
    'Carrega a página do Observatório Nacional
    '---------------------------------------------------
    objIE.Navigate "https://ptax.bcb.gov.br/ptax_internet/consultarUltimaCotacaoDolar.do"
    '------------------------------------------------
    'Aguarda até o completo carregamento da página
    '------------------------------------------------
    Do While objIE.Busy: DoEvents: Loop
    Do While objIE.ReadyState <> 4: DoEvents: Loop
    '------------------------------------------------------
    'Passa todo o código HTML para a variável PaginaHtml
    '------------------------------------------------------
    PaginaHtml = objIE.Document.All(0).InnerHTML
    '--------------------------------------------------------------------
    'Encontra a posição da frase "Hora Oficial de Brasilia" no texto HTML
    '---------------------------------------------------------------------
    intPos = InStr(PaginaHtml, "CENTER") + 66

    '-------------------------------------------
    'passa para a função o valor da data e hora
    '-------------------------------------------

    'popula valor dolar compra
    PTAX_COMPRA = "R$ " & Replace(Replace(Mid(PaginaHtml, intPos, 7), "'ptax_compra_web = Mid(ptax_compra_web, 52, 6)
    'PTAX_COMPRA = ptax_compra_web
    'tratamento capturar dolar venda
    ptax_venda_web = Replace(Replace(Mid(PaginaHtml, intPos, 60), "ptax_venda_web = Mid(ptax_venda_web, 52, 6)
    'popupa valor dolar venda
    PTAX_VENDA = "R$ " & ptax_venda_web

    sair:
    '-----------------------------
    'Encerra o Internet Explorer
    '-----------------------------
    objIE.Quit
    Set objIE = Nothing
    Exit Function

    trataErro:
       fncCapturaDataHora2 = #1/1/1800#
       Resume sair
    End Function


    Private Function fncSiteAtivo(ByVal NomeSite As String) As Boolean
    Dim colPingResults As Object
    Dim oPingResult As Variant
    Dim strQuery As String
    strQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & NomeSite & "'"
    Set colPingResults = GetObject("winmgmts://./root/cimv2").ExecQuery(strQuery)
    For Each oPingResult In colPingResults
       If Not IsObject(oPingResult) Then
           fncSiteAtivo = False
       ElseIf oPingResult.StatusCode = 0 Then
           fncSiteAtivo = True
       Else
           fncSiteAtivo = False
       End If
    Next
    Set colPingResults = Nothing
    End Function


    Private Sub Form_Load()
    fncCapturaDataHora2
    End Sub

    =================

    Espero que ajude a quem precisar.

    Feliz Ano Novo a todos e que Deus os abençoe.

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: Captura Dólar Web

    Mensagem  Assis em Qua 30 Dez 2015, 15:01

    Obrigado Rodrigo pelo link mas não gosto muito desse site.

    Se colocar neste agradeço, é só arrastar para lá o exemplo e copiar o link e colar aqui no forum

    [Você precisa estar registrado e conectado para ver este link.]

    Obrigado

    santa santa santa



    .................................................................................
    *** Só sei que nada sei ***

    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3236
    Registrado : 20/04/2011

    Re: Captura Dólar Web

    Mensagem  Silvio em Qua 30 Dez 2015, 16:21

    Tardesssss

    O tempo de espera no 4Shared era de 20 segundos para o download. Hoje, está em 1.000 segundos.
    Eu usei ele, por muito tempo, mas......sou mais o ge.tt ou o google drive.

    Fica aqui a dica.

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 3227
    Registrado : 15/03/2013

    Re: Captura Dólar Web

    Mensagem  ahteixeira em Qua 30 Dez 2015, 16:52

    Olá a todos.
    O fórum já permite anexar.
    Abraço e Bom Ano 2016

    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2746
    Registrado : 06/11/2009

    Re: Captura Dólar Web

    Mensagem  Assis em Qua 30 Dez 2015, 16:55

    Obrigado Amigo Teixeira

    Bom Ano


    .................................................................................
    *** Só sei que nada sei ***

    RodrigoMalagodi
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 09/05/2013

    Captura Dólar Web

    Mensagem  RodrigoMalagodi em Qua 30 Dez 2015, 17:30

    Segue link.

    dolar_web2 - revisado

      Data/hora atual: Dom 11 Dez 2016, 00:16