我在网上进行一些研究之后就问过这个问题。有一种方法可以将JSON类型或XML类型文件导入Excel工作表,但是没有找到针对我的案例的明确描述。我想我的目标是什么;
我有一些像.txt文件这样的字符串数据;
示例数据:
{"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",
]
}
}}
我想用文件对话框选择这个文件,然后点击阅读按钮,我的问题就在这里。是否可以将它们与单元格链接/映射,例如我有名为vehicle_title
的单元格,我想用.txt文件"title": "A super red vehicle"
映射此单元格。
您是否有任何经验或想法如何实现我的宏。
问候。
答案 0 :(得分:2)
您可以使用此库
https://github.com/VBA-tools/VBA-JSON
在VBA中解析JSON,但是你需要在代码中进行映射:没有内置的配置/向导。
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 JSON示例中存在一些语法错误。