【发布时间】:2020-09-24 06:42:14
【问题描述】:
我正在尝试向以字符串数组作为参数的 API 发送发布请求。
出现错误,指定类型不允许,并且当请求正确发送时,所有数据都留在数组的第一个位置(keyArray[0])。
我使用的代码如下:
Dim lastRow As Variant
lastRow = Range("B" & Rows.Count).End(xlUp).Row
Dim vvArray As Variant
vvArray = Range("B12:B" & lastRow).Value
Dim vvArrayString() As String
ReDim vvArrayString(1 To UBound(vvArray))
For i = 1 To UBound(vvArray)
vvArrayString(i) = vvArray(i, 1)
Next
Dim TCRequestItem As Object
Set TCRequestItem = CreateObject("WinHttp.WinHttpRequest.5.1")
TCRequestItem.Open "POST", "url", False
TCRequestItem.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
TCRequestItem.send ("keyArray=" + vvArrayString)
【问题讨论】:
-
当你F8通过代码时,它在哪里中断?
-
给我一个编译错误,说不允许类型,问题出在代码的最后一行
TCRequestItem.send ("keyArray=" + vvArrayString)。 -
我已经尝试过这样做并且它有效,但我认为必须有另一种方法来获得它:
TCRequestItem.send ("keyArray[0]=" + vvArrayString(1) + "&keyArray[1]=" + vvArrayString(2) + ...) -
on error resume next:)
标签: excel vba winhttp winhttprequest