如何将值从 Outlook VBA 表单传递到 asmx Web 服务?

问题描述 投票:0回答:1

我正在尝试将文本框值从 Outlook 用户表单传递到 asmx Web 服务。我已经使用 PHP 成功完成了此操作,但现在需要使用 VBA 来完成此操作。目前,该表单在提交时完全不执行任何操作。我相信我传递给发送方法的内容或方式有问题。有什么建议我可以让它发挥作用吗?

CliAcctNo = TicketCreateForm1.CliAcctNo.Value
ContactName = TicketCreateForm1.ContactName.Value
ContactNum = TicketCreateForm1.ContactNum.Value
Ext = TicketCreateForm1.Ext.Value
Email = TicketCreateForm1.Email.Value
TicketTitle = TicketCreateForm1.TicketTitle.Value
TicketDesc = TicketCreateForm1.Desc.Value

'DataToPost = ("cliacctno=44121&pname=John&pnum=404-223-9655&ext=0&[email protected]&tickettitle=test from vab&ticketdetails=test line item vba")
'objEvn.Parameters.Create "Test", "Test"
DataToPost = ("CliAcctNo&ContactName&ContactNum&Ext&Email&TicketTitle&TicketDesc")




Set objHttp = New MSXML2.XMLHTTP
'Set objHttp = New MSXML2.XMLHTTPRequest
objHttp.Open "POST", "http://localhost/test/test.asmx"
objHttp.setRequestHeader "Content-Type", "text/xml"
'objHttp.setRequestHeader "SOAPAction", "CreateTicket"
objHttp.setRequestHeader "SOAPAction", "tempri.org/CreateTicket"
objHttp.Send (DataToPost)
vba outlook xmlhttprequest
1个回答
0
投票

在您发布的代码中,您将向网络服务发送一个固定字符串:您需要以某种方式在其中包含您的参数 -

CliAcctNo = TicketCreateForm1.CliAcctNo.Value
ContactName = TicketCreateForm1.ContactName.Value
ContactNum = TicketCreateForm1.ContactNum.Value
Ext = TicketCreateForm1.Ext.Value
Email = TicketCreateForm1.Email.Value
TicketTitle = TicketCreateForm1.TicketTitle.Value
TicketDesc = TicketCreateForm1.Desc.Value

'DataToPost = ("cliacctno=44121&pname=John&pnum=404-223-9655&ext=0&[email protected]&tickettitle=test from vab&ticketdetails=test line item vba")


 DataToPost = "cliacctno=" & CliAcctNo & _
             "pname=" & ContactName & _
             "pnum=" & ContactNum & _
             "ext=" & Ext & _
             "emailaddress=" & Email & _
             "tickettitle=" & TicketTitle & _
             "ticketdetails=" & TicketDesc 
© www.soinside.com 2019 - 2024. All rights reserved.