Microsoft Excel

Herbers Excel/VBA-Archiv

EXCEL VBA *JSON auslesen

Betrifft: EXCEL VBA *JSON auslesen von: ChristianS
Geschrieben am: 08.10.2020 14:03:46

Grüßt euch,

ich benötige Hilfe bei der Auslese einer *JSON Datei in VBA.

Den Code meines Excel Tools, mit dessen Hilfe ich die Entfernung und Fahrzeit zwischen zwei Orten über die Google Distance API auslese hatte ich im Juli noch regelmäßig benutzt. Damals ohne Probleme.
Nun wollte ich heute erneut das Tool verwenden und bekomme eine Fehlermeldung.

Meine API ist noch gültig.

Der Fehler tritt im folgenden Code Abschnitt auf:
bei For Each legs In parsed bekomme ich dann die Fehlermeldung: Laufzeitfehler 5: Ungültiger Prozeduraufruf oder ungültiges Argument.

Dim APIResponse As String
Dim parsed As Dictionary, legs As Dictionary
      'Entschlüsselt die erhaltene .JSON Datei.
            APIResponse = myRequest.responseText
            Set parsed = JsonConverter.ParseJson(APIResponse)
            'Ließt die Fahrzeit (Sekunden) und Fahrstrecke(Meter) aus der .JSON datei aus.
                  Sekunden = 0
                  Fahrstrecke = 0
                  For Each legs In parsed("routes")(1)("legs")
                        Sekunden = Sekunden + legs("duration")("value")
                        Fahrstrecke = Fahrstrecke + legs("distance")("value")
                  Next legs
Die JSON Datei entschlüssel ich mit Hilfe des auf GIT Hub frei verfügbaren JSONConverters von Tim Hall.
(https://github.com/VBA-tools/VBA-JSON).

Der gesamte Code ist noch länger, funktioniert jedoch bis zu diesem Abschnitt fehlerlos.

Über eure Hilfe wäre ich sehr danbkbar.
Viele Grüße,

Christian

Betrifft: AW: EXCEL VBA *JSON auslesen
von: ChristianS
Geschrieben am: 08.10.2020 15:15:39

Habe das Problem selber behoben.
Manchmal ist man blind vor lauter Code.

An alle die irgendwann ähnliche Probleme haben, der Fehler lag in der Ziel URL.

Dem obigen Code, war ein Code vorgestellt, der Deutsche Umlaute und bestimmte Buchstaben in UTF-9 umwandelt.
Dort hatte sich durch öffnen der Excel Datei mit meinem MAC Book anstatt Win Desktop PC, alle Zielbuchstaben in sinnlose Zeichen und Zahlen abgeändert. Dort nur wieder die richtigen Buchstaben und Umlaute, welche ausgetauscht werden sollen, einsetzen und alles wieder gut.

Viele Grüße

Chris

Betrifft: AW: EXCEL VBA *JSON auslesen
von: Yal
Geschrieben am: 08.10.2020 16:18:20

Sieht gut aus.
Würdest Du auch die Abfrage samt URL publizieren?
(persönliche Teil natürlich ändern/umlenken)

Vielen Dank & Grüße
Yal