VBA HTTP POST参数不正确

时间:2015-02-17 16:18:23

标签: vba excel-vba excel

我是VBA的新手,所以这可能是我的问题。我正在尝试从Excel执行HTTP POST到Web服务,我可以非常愉快地发布POST,直到我更改代码以便我在我的消息中发布内容,此时我收到以下错误:

  

运行时错误'-2147024809(80070057)':

     

参数不正确。

我的代码如下:

Dim oHttp As Object
Set oHttp = CreateObject("MSXML2.XMLHTTP.6.0")
Call oHttp.Open("POST", url, False)
oHttp.setRequestHeader "Content-Type", "application/text"
oHttp.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
Call oHttp.send(content)
httpPOST = oHttp.responseText

杀死代码的行是oHttp.send - 如果我没有传递任何内容那么一切都没问题,只要我把内容放在这里就不开心了。

content参数是一个包含逗号分隔文本的大字符串,包含换行符。我认为这就是为什么它不开心,如果我将字符串更改为简短的“Hello”,那么发送是成功的,应用程序很高兴地将它转到下一行,然后再遇到运行时错误:

  

完成此操作所需的数据尚不可用

所以我想我的问题是,如何将大块文本发布到服务器?

由于

1 个答案:

答案 0 :(得分:0)

感谢您的评论,我设法通过将字符串转换为二进制数组然后发送二进制数组来使其工作。