2016-01-23 2 views
0

Я пытаюсь получить данные обо всех элементах runescape в большом обмене, используя его API http://services.runescape.com/m=itemdb_rs/api/catalogue/category.json?category=X и http://services.runescape.com/m=itemdb_rs/api/catalogue/items.json?category=X&alpha=Y&page=Z Я мог бы получить текст json в самом веб-браузере :Ссылка API содержит Json, import to excel using vba

Sub High_Alch() 

Dim IE As New InternetExplorer 

Dim url As String 

Dim url1 As String 

Dim url2 As String 

Dim url3 As String 

url = "services.runescape.com/m=itemdb_rs/api/catalogue/category.json?category=" 

IE.Visible = True 

For i = 0 To 37 


    IE.navigate (url + CStr(i)) 


Next i 

End Sub 

Как это получить в строке в vba и как я могу использовать данные? Я хотел использовать API категорий, чтобы узнать, сколько элементов есть для каждой буквы в каждой категории, а затем использовать это, чтобы узнать, сколько страниц в API-интерфейсе элемента. Может кто-нибудь мне помочь?

+0

Для получения дополнительной информации самого API, http://runescape.wikia.com/wiki/Application_programming_interface –

ответ

0

Я бы не использовал InternetExplorer для этого. Вместо этого я бы использовал XMLHTTP.

Для анализа JSON с VBA см. https://github.com/VBA-tools/VBA-JSON.

Sub test() 

Dim httpObject As Object 
Set httpObject = CreateObject("MSXML2.XMLHTTP") 

sURL = "http://services.runescape.com/m=itemdb_rs/api/catalogue/category.json?category=" 

For i = 0 To 1 'only category 0 and 1 because of clicking OK in MsgBox ;-) 
    sRequest = sURL & i 
    httpObject.Open "GET", sRequest, False 
    httpObject.send 
    sGetResult = httpObject.responseText 
    Set oJSON = JsonConverter.ParseJson(sGetResult) 
    Set oAlpha = oJSON("alpha") 
    For Each oLetter In oAlpha 
    sLetter = oLetter("letter") 
    lItems = oLetter("items") 
    MsgBox "In category " & i & ": Letter " & sLetter & " has " & lItems & " items." 
    Next 

Next 

End Sub 
+0

я просто нужно копировать вставить все это из разбора под моими подразделами ли? –

+0

Загрузите файл 'ZIP'. Извлеките 'JsonConverter.bas'. Откройте «Excel» и VBA-редактор с вашим VBA-проектом. Щелкните правой кнопкой мыши VBA-проект в Project Explorer и выберите «Импортировать файл ...». Перейдите в файл 'JsonConverter.bas' и импортируйте его. Убедитесь, что вы включили ссылку «Время выполнения сценариев Microsoft» через «Инструменты» -Изображения ». –