Hallo,
auch wenn ich eigentlich nicht davon halte die Hausaufgaben von anderen zu machen - hatte ich gerade ein wenig langeweile.
Mit etwas suchen im Internet eigentlich kein Problem:
Option Explicit
Dim Wert As Double
Private Declare Function URLDownloadToFile Lib "urlmon" _
Alias "URLDownloadToFileA" ( _
ByVal pCaller As Long, _
ByVal szURL As String, _
ByVal szFileName As String, _
ByVal dwReserved As Long, _
ByVal lpfnCB As Long) As Long
Public Sub main()
If download_file <> 0 Then
MsgBox "Problem beim herunterladen.", vbExclamation
Exit Sub
End If
Wert = 0
Call einlesen_und_durchschnitt
MsgBox "Der Durchschnittswert liegt bei " & Round(Wert / 21, 6), vbInformation
End Sub
Private Function download_file() As Long
Dim strURL As String
Dim strLocalFile As String
'Link zum Donwload
strURL = "https://www.quandl.com/api/v3/datasets/BCHARTS/COINBASEEUR.csv"
'Pfad für den Speicherort
strLocalFile = ThisWorkbook.Path & "\Bitcoin_" & Format(Date, "YYYYMMDD") & ".csv"
'Datei herunterladen und Status zurückgeben
download_file = URLDownloadToFile(0, strURL, strLocalFile, 0, 0)
End Function
Private Sub einlesen_und_durchschnitt()
Dim fso As Object
Dim txtStream As Object
Dim i As Integer: i = 0
Dim strPfad As String
Dim strDaten() As String
strPfad = ThisWorkbook.Path & "\Bitcoin_" & Format(Date, "YYYYMMDD") & ".csv"
Set fso = CreateObject("Scripting.FilesystemObject")
Set txtStream = fso.OpenTextfile(strPfad)
Do While Not txtStream.AtEndOfStream And i < 22
'Header überspringen
If i = 0 Then
txtStream.SkipLine
Else
strDaten() = Split(txtStream.ReadLine, ",")
'Wert aus Array lesen:
'0, 1, 2, ...
'Date,Open,High,Low,Close,Volume (BTC),Volume (Currency),Weighted Price
Wert = Wert + CDbl(Replace(strDaten(4), ".", ","))
End If
i = i + 1
Loop
txtStream.Close
Set txtStream = Nothing
Set fso = Nothing
End Sub
|