【问题标题】:Syntax Error: Array of URLs (VBA)语法错误:URL 数组 (VBA)
【发布时间】:2021-08-17 02:04:21
【问题描述】:

我的代码正常工作——但现在我收到“语法错误”,突出显示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"}}]

【问题讨论】:

  • 把所有改成"

标签: vba parsing


【解决方案1】:

您在数组 URL1 的第一个索引上使用“而不是”,只需替换它们就可以了!

像这样:

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

代替:

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

【讨论】:

  • 复制一个代码 sn-p 真是太痛苦了,你发现它有智能引号(“”)和反引号(` aka Grave 重音)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-12-26
  • 1970-01-01
  • 2016-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多