Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

json speichern und abrufen

Forumthread: json speichern und abrufen

json speichern und abrufen
16.07.2024 12:48:26
Fred

Hallo Excel Profis,
so manche Webseite steht im Datenaustausch mit einer json
Ich habe mir überlegt, dass wenn ich gewisse Daten abrufen will, den ganzen Umstand mit Quellcode links, rechts, oben unten
mir eigentlich schenken könnte und einfach die gewünschte json abspeichere und diese in Excel dann sofort abrufe.
Klappt!

Sub datenImport()

' importiert die Daten in json und aktualisiert die Tabelle
Dim http As Object
Dim jsonResponse As String
Dim filePath As String
Dim fileNum As Integer

Set http = CreateObject("MSXML2.XMLHTTP")

Dim url As String
url = "https://api.sofascore.com/api/v1/team/3361/events/last/0"

http.Open "GET", url, False
http.send

jsonResponse = http.responseText

filePath = "C:\Users\Fred Neumann\Desktop\Neumann\SofaScore.json"

fileNum = FreeFile
Open filePath For Output As #fileNum
Print #fileNum, jsonResponse
Close #fileNum

Set http = Nothing

Range("M11").Select
Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
End Sub

Meine Frage:
In dem Script sind die Daten auf:
https://api.sofascore.com/api/v1/team/3361/events/last/0
begrenzt, es gibt allerdings noch weitere,- indem die letzte 0 erhöht wird:
https://api.sofascore.com/api/v1/team/3361/events/last/0
https://api.sofascore.com/api/v1/team/3361/events/last/1
https://api.sofascore.com/api/v1/team/3361/events/last/2
Wie bekomme ich das Makro dahin, so das in einem Rutsch 0 bis 2 gespeichert wird?


Gruss
Fred

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: json speichern und abrufen
17.07.2024 00:22:10
Zwenn
Hallo Fred,

Du kannst den Download in eine Schleife packen und den Schleifenzähler als Teil der URL ganz am Ende und für den Filename zum Abspeichern verwenden. Es gibt nach den dreien noch weitere JSONs. Falls Du noch mehr brauchst, einfach die Schleife weiter laufen lassen. Was es mit dem ListObject auf sich hat weiß ich nicht, deshalb habe ich die letzten beiden Zeilen auskommentiert. Ich habe Deinen Code nebenbei etwas optimiert:



Sub datenImport()
' importiert die Daten in json und aktualisiert die Tabelle
Dim filePath As String
Dim baseUrl As String
Dim currJson As Long

filePath = "C:\Users\Fred Neumann\Desktop\Neumann\"
baseUrl = "https://api.sofascore.com/api/v1/team/3361/events/last/"

With CreateObject("MSXML2.XMLHTTP.6.0")
For currJson = 0 To 2
.Open "GET", baseUrl & currJson, False
.send

If .Status = 200 Then
Open filePath & "SofaScore" & CStr(currJson) & ".json" For Output As #1
Print #1, .responseText
Close #1
Else
MsgBox "JSON konnte nicht geladen werden. HTTP-Status: " & .Status
End If
Next
End With

' Range("M11").Select
' Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
End Sub


Viele Grüße,

Zwenn
Anzeige
AW: json speichern und abrufen
19.07.2024 18:03:44
Fred
Zwenn,
Vielen Dank für deine Mühe,- die Schleife und der Optimierung!
Daten kann man nicht genug bekommen .... und die Versuchung ist relativ groß, die Schleife einfach weiter laufen zu lassen ..
doch ich denke mal, das ich der Gefahr geblockt zu werden, so etwas näher kommen würde.
Anders rum; 3 Abfragen reichen mir absolut für eine Auswertung der "jüngsten" Vergangenheit von diesen Team ...

Nochmals vielen Dank!

Gruss
Fred
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige