Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
语法错误:URL数组(VBA)_Vba_Parsing - Fatal编程技术网

语法错误:URL数组(VBA)

语法错误:URL数组(VBA),vba,parsing,Vba,Parsing,我的代码正在工作——但现在我收到一个“语法错误”,突出显示了URL1、URL2、URL3等,我不知道为什么。我想可能应该将urlArray切换为字符串,但事实并非如此。有什么想法吗 这是我的全部代码: Option Explicit Sub getJSON() Dim sheetCount As Integer, urlArray As Variant sheetCount = 1 urlArray = Array(“URL1”, "URL2", "URL3", "URL4", "URL5

我的代码正在工作——但现在我收到一个“语法错误”,突出显示了
URL1、URL2、URL3等,我不知道为什么。我想可能应该将
urlArray
切换为字符串,但事实并非如此。有什么想法吗

这是我的全部代码:

Option Explicit

Sub getJSON()

Dim sheetCount As Integer, urlArray As Variant
sheetCount = 1

urlArray = Array(“URL1”, "URL2", "URL3", "URL4", "URL5")

Dim MyRequest As Object: Set MyRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
Dim MyUrls: MyUrls = urlArray
Dim k As Long
Dim Json As Object

For k = LBound(MyUrls) To UBound(MyUrls)
    With MyRequest
        .Open "GET", MyUrls(k)
        .Send
        Set Json = JsonConverter.ParseJson(.ResponseText)
    Dim i As Long, p As Object
    For i = 1 To Json("prices").Count
        Set p = Json("prices")(i)
        Sheets("Sheet" & sheetCount).Cells(i, 1) = p("name")
        Sheets("Sheet" & sheetCount).Cells(i, 2) = p("cost")("fareType")
        Sheets("Sheet" & sheetCount).Cells(i, 9) = p("cost")("base")
        Sheets("Sheet" & sheetCount).Cells(i, 10) = p("cost")("perMinute")
        Next i
        End With
sheetCount = sheetCount + 1
Next
End Sub
我正在从这些URL解析的JSON代码的格式如下:

{"id":1,"prices":[{"name":"expressTaxi","cost":{"base":"USD4.50","fareType":
"time_plus_distance","cancelFee":"USD10.00","minimumAmt":"USD8.00","perMinute":"USD1.50",
"perDistanceUnit":"USD3.00"}}]

您在数组URL1的第一个索引中使用了“而不是”,只需替换这些索引,您就会很好

所以像这样:

urlArray = Array("URL1", "URL2", "URL3", "URL4", "URL5")
而不是:

urlArray = Array(“URL1”, "URL2", "URL3", "URL4", "URL5")

将所有的
更改为
复制一个代码片段是一件非常痛苦的事情,因为你发现其中有智能引号(“”)和反勾号(`aka Grave accent)。