How can I send an HTTP POST request to a server from Excel using VBA?

Matthew Murdoch picture Matthew Murdoch · Oct 1, 2008 · Viewed 268.5k times · Source

What VBA code is required to perform an HTTP POST from an Excel spreadsheet?

Answer

Bill the Lizard picture Bill the Lizard · Oct 1, 2008
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://www.somedomain.com"
objHTTP.Open "POST", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send("")

Alternatively, for greater control over the HTTP request you can use WinHttp.WinHttpRequest.5.1 in place of MSXML2.ServerXMLHTTP.