Я использую интервал, если Microsoft изменяет реализацию по умолчанию для целого числа к некоторой новой fangled версии (давайте назовем его Int32b).
Microsoft может тогда изменить международный псевдоним на Int32b, и я не должен изменять ни один свой код для использования в своих интересах их нового (и надо надеяться улучшенный) целочисленная реализация.
то же идет для любого из ключевых слов типа.
С помощью этого кода VBA можно обрабатывать сторону запроса Excel.
Sub GetStuff()
Dim objXML As Object
Dim strData As String
Dim strResponse As String
strData = "Request"
Set objXML = CreateObject("MSXML2.XMLHTTP")
objXML.Open "POST", "www.example.com/api?" & strData, False
objXML.Send
strResponse = objXML.responsetext
MsgBox strResponse
End Sub
Если вам нужно отправить ваш входной xml в качестве тела сообщения вот как вы можете это сделать. Вам может потребоваться добавить больше или изменить заголовки запроса, чтобы заставить его работать на вас.
Использование объекта DOMDocument упрощает работу с вашими XML-документами.
Добавьте ссылки на проект в;
Пример:
Dim xmlInput As String
xmlInput = "<YourXmlRequest></YourXmlPayload>"
Dim oXmlHttp As MSXML2.XMLHTTP60
Set oXmlHttp = New MSXML2.XMLHTTP60
oXmlHttp.Open "POST", serviceURL, False, "UserName", "Password"
oXmlHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXmlHttp.setRequestHeader "Connection", "Keep-Alive"
oXmlHttp.setRequestHeader "Accept-Language", "en"
oXmlHttp.send xmlInput
Debug.Print oXmlHttp.responseText
Dim oXmlReturn As MSXML2.DOMDocument60
Set oXmlReturn = New MSXML2.DOMDocument60
oXmlReturn.loadXML oXmlHttp.responseText
Вот что я в итоге использовал:
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
objHTTP.Open "POST", urlPath, False
objHTTP.setRequestHeader "Content-Type", "text/xml"
objHTTP.send (request)