【发布时间】:2013-04-20 17:58:06
【问题描述】:
我需要使用 VBA 将 Excel 工作表中的一些数据发布到 HTTP Web 服务。 我正在使用 MSXML2.XMLHTTPServer。如何跟踪上传进度以便向用户提供反馈(例如进度条)?
这是我使用的代码:
Const STR_BOUNDARY As String = "3fbd04f5-b1ed-4060-99b9-fca7ff59c113"
'--- prepare body
PostData = "--" & STR_BOUNDARY & vbCrLf & _
"Content-Disposition: form-data; name=""path""; filename=""" & fileName & """" & vbCrLf & _
"Content-Type: application/octet-stream" & vbCrLf & vbCrLf & _
PostData & vbCrLf & _
"--" & STR_BOUNDARY & "--"
'--- post
objHTTP.Open "POST", Url, False
objHTTP.SetRequestHeader "Content-Type", "multipart/form-data; boundary=" & STR_BOUNDARY
objHTTP.Send pvToByteArray(PostData)
PostString = objHTTP.responseText
【问题讨论】:
-
到目前为止你有什么收获?
-
请出示您的代码。
-
可以使用 OnReadyStateChange 事件,但这并不容易。 stackoverflow.com/questions/11607677/…
-
@user2324106:如果您向我们展示您的代码,我们可以帮助您改进它
-
@DickKusleika 谢谢你的链接。我如何知道已经发布了多少数据(以显示进度条)?
标签: http vba post excel progress