繁体   English   中英

使用VBA将Excel xlsm文件上传到php脚本

[英]Upload Excel xlsm file to php script using VBA

我想从VBA将Excel xlsm文件上传到php脚本。 我发现以下代码:

Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")

Dim strURL As String
Dim StrFileName As String
Dim FormFields As String
Dim path As String
Dim name As String

   StrFileName = "c:\temp\ctc1output.xls"
   strURL = "http://www.tri-simulation.com/P3/"


   WinHttpReq.Open "POST", strURL, False


   ' Set the header
  WinHttpReq.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"


   FormFields = """fileulp=" & StrFileName & """"
   FormFields = FormFields + "&"
   FormFields = FormFields + """sfpath=P3"""

   WinHttpReq.Send FormFields


   ' Display the status code and response headers.
   MsgBox WinHttpReq.GetAllResponseHeaders
   MsgBox WinHttpReq.ResponseText
  1. 我应该将文件处理为二进制文件还是其他类型的文件?
  2. 我可以在文件仍处于打开状态时上传该文件吗(我想从中运行VBA的文件)?

我不确定自己是否走对了。 我也不确定标题和表单字段应该是什么。

感谢任何帮助。

您无需对任何内容进行base64编码。 遵循找到的示例代码,但是在准备文件之前(在'---准备正文注释之前),只需添加其他文本(表单项)即可

sPostData = sPostData & "--" & STR_BOUNDARY & vbCrLf & _
     "Content-Disposition: form-data; name=""" & Name & """"
sPostData = sPostData & vbCrLf & vbCrLf & _
     pvToUtf8(Value) & vbCrLf

...其中“ Name和“ Value是设计名称以及要包含在服务请求中的实际文本。 对于功能pvToUtf8实现,请查看此Google Cloud Print服务连接器 上面的摘录取自同一连接器的pvRestAddParam函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM