MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

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.
    avatar
    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 329
    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
    -------------------------------------------------------------------------------------------------------------------------------------------------

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

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3384
    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
    avatar
    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 329
    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 49 vez(es)


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------

    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!
    avatar
    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 329
    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 36 vez(es)


    .................................................................................
    Att, Danilo Reis
    -------------------------------------------------------------------------------------------------------------------------------------------------

    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.
    avatar
    daniloreiis
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 329
    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
    -------------------------------------------------------------------------------------------------------------------------------------------------

    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
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2893
    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.
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2893
    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 ***
    avatar
    Silvio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3535
    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.
    avatar
    ahteixeira
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4192
    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
    avatar
    Assis
    Maximo VIP
    Maximo VIP

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 2893
    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: Qua 26 Jul 2017, 09:46