2015-02-17 5 views
0

Я новичок в VBA, поэтому это, вероятно, моя проблема. Я пытаюсь выполнить HTTP POST из Excel в веб-службу, и я могу получать POST довольно счастливо, пока я не изменю код, чтобы опубликовать контент в своем сообщении, после чего я получаю следующую ошибку:VBA HTTP POST Параметр Неверный

Run-time error '-2147024809 (80070057)':

The Parameter is incorrect.

Мой код выглядит следующим образом:

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», тогда отправка будет успешной, и приложение успешно перейдет к следующей строке, прежде чем нажать на ошибку во время выполнения:

The data necessary to complete this operation is not yet available

Итак, я думаю, мой вопрос в том, как я могу отправить большой блок текста на сервер?

Благодаря

+0

Вам не нужно «вызывать» или скобки, обертывающие параметры для любой из двух кодовых строк, в которых они используются. * Content * пуст; в то время как вы, возможно, удалили назначение строки, вы должны были отредактировать его, чтобы мы могли видеть версию того, что вы пытаетесь передать в операцию post. – Jeeped

+1

Возможно, попробуйте кодировать данные? http://stackoverflow.com/questions/17818903/xmlhttp-post-in-excel-vba-not-updaing-website-form Также убедитесь, что ваш URL-адрес правильно отформатирован –

ответ

0

Спасибо за комментарии, мне удалось заставить его работать путем преобразования строки в двоичный массив, а затем отправить бинарный массив снова.