2017-08-16 318 views
0

獲取類型不匹配(錯誤13),而在Excel宏使用JSON解析器類型不匹配(錯誤13)在Excel

下面是代碼:

Sub getJsonValue() 
    Dim FSO As New FileSystemObject 
    Dim JsonTS As TextStream 
    Set JsonTS = FSO.OpenTextFile("C:\Users\Card_Link.json", ForReading) 
    JsonText = JsonTS.ReadAll 
    JsonTS.Close 
    Set Json = ParseJson(JsonText) 
    Set JsonRows = Json("rows") 
    i = 2 
    For Each Item In Json 
     Sheet5.Cells(i, 1).Value = Item("name") 
     'Sheet5.Cells(i, 2).Value = Item("results")("name") 
     'Sheet5.Cells(i, 3).Value = Item("results")("responsecode") 
     i = i + 1 
    Next 
    MsgBox ("complete") 
End Sub 

獲取有關該錯誤聲明 Sheet5.Cells(i, 1).Value = Item("name")

有人可以幫我解決這個問題。

感謝 RJ

回答

1

,而不必與ParseJson任何經驗,嘗試其中之一:

Sheet5.Cells(i, 1).value = item

Sheet5.Cells(i, 1).value = item(0)

Sheet5.Cells(i, 1).value = item.Name

如果仍沒有這些作品,嘗試像這樣:

For Each item In Json 
    Stop 
    Sheet5.Cells(i, 1).value = item("name") 
    'Sheet5.Cells(i, 2).Value = Item("results")("name") 
    'Sheet5.Cells(i, 3).Value = Item("results")("responsecode") 
    i = i + 1 
Next 

在停止,選擇item,按 + F9 看看你有什麼在item

+0

感謝您的回覆。 Sheet5.Cells(i,1).value = item - 此語句正在工作,但我想獲取子項值。我嘗試項目(0),item.Name和項目(名稱),但沒有任何工作。你能幫我嗎 – user8472243

+0

@ user8472243 - 你試過Shift + F9嗎?發生了什麼? – Vityata

+0

對不起,延遲迴復。在「Item」中,我現在得到了正確的值,但是當我要獲得像item.name或item(name)這樣的下一級值時。它的顯示錯誤 - 424(運行時錯誤)在此語句上顯示「Object Required」 - Sheet5.Cells(i,2).Value = Item.Name – user8472243