Предполагая, что вы знаете, как загрузить PDF в байтовый массив, вы должны получить его в кодировке Base64, а затем отправить его на сервер, используя многокомпонентное кодирование MIME.
Вы можете использовать библиотеки MSXML для выполнения кодирования Base64. См. ссылку для деталей.
Когда у вас есть PDF в виде строки Bas64, вам нужно упаковать его как MIME multipart. Вы можете использовать объект XMLHTTP из MSXML для выполнения этой публикации за вас: -
sEntityBody = "----boundary" & vbCrLf
sEntityBody = sEntityBody & "Content-Disposition: form-data; name=fileInputElementName; filename=""" + sFileName + """" & vbCrLf
sEntityBody = sEntityBody & "Content-Transfer-Encoding: base64" & vbCrLf
sEntityBody = sEntityBody & "Content-Type: application/pdf" & vbCrLf & vbCrLf
sEntityBody = sEntityBody & sPDFBase64 & vbCrLf
sEntityBody = sEntityBody & "-----boundary--" & vbCrLf & vbCrLf
Set xhr = New MSXML2.XMLHTTP30
xhr.setRequestHeader("Content-Type", "multipart/form-data; boundary=-----boundary")
xhr.Open "POST", sUrl, False
xhr.send sEntityBody
Возможно, не элегантно или эффективно, но это должно сработать.