/ / Zuordnen von JSON / XML-Daten zu einer Excel-Zelle in VBA? - JSON, XML, VBA, Excel-VBA, Excel

Mapping JSON / XML-Daten in Excel-Zelle in VBA? - JSON, XML, VBA, Excel-VBA, Excel

Ich frage dies nach einigen Recherchen im Internet. Es gibt eine Möglichkeit, Dateien vom Typ JSON oder XML zum Importieren von Excel-Tabellen zu verwenden, es wurden jedoch keine eindeutigen Beschreibungen für meinen Fall gefunden. Ich würde gerne wissen, was mein Ziel ist.

Ich habe eine Art von String-Daten wie .txt-Datei wie folgt;

Beispieldaten:

{"vehicle1": {
"title": "A super red vehicle",
"weight": "1500 kg",
"height": "2 m",
"vehicle1-center_of_gravity": [
{"x": "2 m"},
{"y": "-0.5 m"},
{"z": "1.5 m"}
"vehicle1-passenger_weights": [
{"p1": "2 m"},
{"p2": "-0.5 m"},
{"p3": "1.5 m"}
"color": "red",
]
}
}}

Ich möchte diese Datei mit dem Dateidialog auswählen und dann auf die Schaltfläche zum Lesen klicken, jetzt kommt meine Frage hier rein. Ist es möglich, sie mit Zellen zu verknüpfen / abzubilden, zum Beispiel habe ich eine benannte Zelle vehicle_title und ich möchte diese Zelle mit TXT-Datei "s zuordnen "title": "A super red vehicle".

Haben Sie Erfahrung oder eine Idee, wie ich das auf meinem Makro implementieren kann.

Grüße.

Antworten:

2 für die Antwort № 1

Sie können diese Bibliothek verwenden

https://github.com/VBA-tools/VBA-JSON

um JSON in VBA zu analysieren, müssen Sie jedoch die Zuordnung im Code vornehmen: Es gibt keinen eingebauten Konfigurations- / Assistenten für diesen Vorgang.

Sub Tester()

Dim j As Object, json As String, v

"read from file
json = CreateObject("scripting.filesystemobject").OpenTextFile( _
ThisWorkbook.Path & "example.txt").ReadAll()

"import module from: https://github.com/VBA-tools/VBA-JSON
Set j = JsonConverter.ParseJson(json)

Set v = j("vehicle1")

"some attributes...
Debug.Print v("title")
Debug.Print v("weight")
Debug.Print v("vehicle1-center_of_gravity")(1)("x")

End Sub

PS: In Ihrem JSON-Beispiel sind einige Syntaxfehler enthalten.