Очень плохо знаком с VBA.Пытаюсь узнать как можно больше.Я могу получить вывод, который я хочу, в непосредственном окне, но как я могу переместить все это на мой рабочий лист?
Честно говоря, я не уверен, что и где попробовать.
Option Explicit
Sub JsonMain()
Dim dict
Dim subDict
Dim strLine As String
' Read from file
Dim FilePath As String
FilePath = ThisWorkbook.Path + "\" + "Main.json"
Dim nFile As Integer
Dim strJson As String
nFile = FreeFile
Open FilePath For Input As #nFile
strJson = Input(LOF(nFile), nFile)
Close #nFile
Dim jp As Scripting.Dictionary
Set jp = JsonConverter.ParseJson(strJson)
Dim gameData As Scripting.Dictionary
Set gameData = jp("data")
Dim theseMonsters As Object
Set theseMonsters = gameData("monsters")
Debug.Print "there are " & theseMonsters.Count & " monsters in the profile"
Dim i As Long
Dim monster As Dictionary
Dim monsterName As Variant
Dim monsterDetails As Variant
For Each monsterName In theseMonsters.Keys
Debug.Print "Monster #" & monsterName
Set monsterDetails = theseMonsters(monsterName)
Debug.Print " -- name: " & monsterDetails("class_name")
Debug.Print " -- total level: " & monsterDetails("total_level")
Debug.Print " -- perfection: " & monsterDetails("perfect_rate")
Debug.Print " -- catch number: " & monsterDetails("create_index")
Dim battleStats As Collection
Set battleStats = monsterDetails("total_battle_stats")
Debug.Print " -- battle stats: ";
For i = 1 To battleStats.Count
Debug.Print battleStats.Item(i) & " ";
Next i
Debug.Print ""
' ...
Next monsterName
End Sub
Редактировать 1:
Ожидаемые результаты будут жирными заголовками для каждой категории, напечатанными в строке A, с данными, расположенными в столбцах под этими заголовками.
Вот пример вывода, который я получаю в ближайшем окне:
Monster # 47103 - имя: Monstratos - общий уровень: 20 - совершенство: 53.763 - номер улова: 39- боевая статистика: 218 288 221 198 227 201
Я бы хотел, чтобы строка А содержала следующие жирные заголовки: № монстра, имя, общий уровень, совершенство, номер улова, HP, PA, PD, SA, SD, SPD (Battle Stats - это не заголовок, но отдельные боевые характеристики).
Ниже для этого примера в качестве примера будет: 47103, Monstratos, 20, 53.763, 39, 218, 288221, 198, 227, 201.