Pessoal Boa noite. Segue um código para salvar cotações de moedas diariamente. Código: DEF VAR ch-ie AS COM-HANDLE NO-UNDO. DEF VAR c-url AS CHAR NO-UNDO. def var c-data as char no-undo. assign c-data = '20150521' c-url = 'http://www4.bcb.gov.br/Download/fechamento/' + c-data + '.csv'. MESSAGE 'c-url' c-url VIEW-AS ALERT-BOX INFO BUTTONS OK. CREATE "InternetExplorer.Application" ch-ie. ch-ie:navigate(c-url,,,,). ch-ie:VISIBLE = TRUE. /*ch-ie:QUIT().*/ RELEASE OBJECT ch-ie NO-ERROR.
Legal, mas como automatizar do download desse arquivo sem que o IE fique perguntando o que quer fazer com ele? Isso já resolveria o problema. Abraços
É o que eu estou tentando agora. Quero abrir pelo chrome, ou pelo firefox e eles mesmo salvar por dia sozinho. E aí vou fazer um schedule para salvar diariamente.
Então, eu consegui isso, mas em VBS. ele grava o arquivo e depois eu leio a partir do progress. abaixo o programa: mesi = month(now) if mesi < 10 then mes = "0" + CStr(mesi) else mes = CStr(mesi) end if diai = day(now) - 1 if diai < 10 then dia = "0" + CStr(diai) else dia = CStr(diai) end if HTTPDownload "http://www4.bcb.gov.br/Download/fechamento/" + CStr(Year(now)) + mes + dia + ".csv", "C:\temp\" + CStr(Year(now)) + mes + dia + ".csv" Sub HTTPDownload( myURL, myPath ) Dim i, objFile, objFSO, objHTTP, strFile, strMsg Const ForReading = 1, ForWriting = 2, ForAppending = 8 Set objFSO = CreateObject( "Scripting.FileSystemObject" ) If objFSO.FolderExists( myPath ) Then strFile = objFSO.BuildPath( myPath, Mid( myURL, InStrRev( myURL, "/" ) + 1 ) ) ElseIf objFSO.FolderExists( Left( myPath, InStrRev( myPath, "\" ) - 1 ) ) Then strFile = myPath Else WScript.Echo "ERROR: Target folder not found." Exit Sub End If Set objFile = objFSO.OpenTextFile( strFile, ForWriting, True ) Set objHTTP = CreateObject( "WinHttp.WinHttpRequest.5.1" ) objHTTP.Open "GET", myURL, False objHTTP.Send For i = 1 To LenB( objHTTP.ResponseBody ) objFile.Write Chr( AscB( MidB( objHTTP.ResponseBody, i, 1 ) ) ) Next objFile.Close( ) End Sub
Boa tarde! Eu tenho uma rotina que grava diariamente a cotação do Dólar e do Euro ... buscando os dados no Banco Central. Eu executo a rotina na crontab do linux. Código: DEFINE VARIABLE c-data AS CHARACTER NO-UNDO. DEFINE VARIABLE d-atu AS DATE NO-UNDO. ASSIGN d-atu = TODAY - 1 /* executar o programa no início do dia, buscando o fechamento das moedas do dia anterior */ c-data = STRING(YEAR(d-atu),"9999") + STRING(MONTH(d-atu),"99") + STRING(DAY(d-atu),"99"). /* obtencao do arquivo CSV com as cotacoes */ DEFINE VARIABLE c-comando AS CHARACTER NO-UNDO. ASSIGN c-comando = "cd /tmp/cotacao;wget -nv http://www4.bcb.gov.br/download/fechamento/" + c-data + ".csv" . OS-COMMAND SILENT VALUE(c-comando). FILE-INFO:FILE-NAME = "/tmp/cotacao/" + c-data + ".csv" . IF FILE-INFO:FILE-SIZE = ? THEN DO: /* aqui faz a leitura do arquivo CSV e grava as cotações */ END.
Boa noite, Fiz um programinha em JAVA que utiliza parametros passados em progress, que pode ajudar baixar o arquivo csv de cotação de moeda, sem a necessidade de autorizar o download pelo IE.