weixin_49389064 2020-10-22 14:46 采纳率: 0%
浏览 27

大神帮忙解答VBA系统与其他系统接口通信问题

1.因工做需要,需要把信息传给场站系统
2.公司用VBA开发一个数据处理软件
3.二者之间需要把VBA的处理的数据传给这个场站系统。
4.这个场站系统给出的接口及相关信息如下:
示例
地址:POST /api/PkgApi/SendExportManifest
参数:
{
"info": {
"businessCode": "string",
"callbackUrl": "string",
"sign": "string"
},
"main": {
"appliedCustoms": "string",
"bizType": "string",
"customsCodeInsp": "string",
"description": "string",
"flightNo": "string",
"goodsPackType": "string",
"goodsPackTypeCIQ": "string",
"ieDate": "string",
"iePort": "string",
"logisticalCode": "string",
"manifestNo": "string",
"num": 0,
"pkgInfos": [
{
"currency": "string",
"goodsNameCn": "string",
"goodsNameFn": "string",
"gunnyNo": "string",
"logisticsNo": "string",
"note": "string",
"num": 0,
"price": 0,
"recvUser": "string",
"sendUser": "string",
"weight": 0
}
],
"portShipDest": "string",
"transMode": "string",
"transNo": "string",
"weight": 0,
"operationCode": "string",
"operationName": "string"
}
}

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 01:08
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    要实现从VBA程序到场站系统的数据传输,你需要使用HTTP协议来发送XML格式的数据。以下是一个简单的示例,展示了如何使用GET请求将VBA处理的数据发送到场站系统的API。

    首先,确保你的场站系统提供了POST /api/PkgApi/SendExportManifest API,并且已设置好必要的参数(例如infomain对象)。然后,你可以使用VBA编写一段代码来发起GET请求并将处理好的数据传递给API。

    以下是VBA代码示例:

    Sub SendDataToFieldStation()
    
        Dim xml As String
        Dim strXML As String
        Dim strURL As String
        Dim strMethod As String
        Dim objRequest As Object
        Dim strData As String
        Dim strResp As String
        
        ' 设置API URL
        strURL = "https://your-field-station.com/api/PkgApi/SendExportManifest"
        
        ' 设置API方法
        strMethod = "POST"
        
        ' 设置请求头
        headers = Array("Content-Type: application/xml")
        
        ' 创建HTTP对象
        Set objRequest = CreateObject("MSXML2.XMLHTTP")
        
        ' 发送GET请求并获取响应
        objRequest.Open strMethod, strURL, False
        For Each header In headers
            objRequest.setRequestHeader header
        Next
        objRequest.send
        
        ' 获取服务器返回的响应
        strResp = objRequest.responseText
        
        ' 解析XML数据
        Set xml = CreateObject("XmlWriter")
        xml.Write(strResp)
        With xml.Output
            .WriteLine()
        End With
        
        ' 打印解析后的XML数据
        Debug.Print xml.ToString
        
    End Sub
    

    在这个例子中,我们创建了一个HTTP对象,并设置了发送GET请求的方法、URL以及请求头。然后,我们打开HTTP对象,并向服务器发送请求。最后,我们打印出服务器返回的响应内容,即XML数据。

    请注意,这只是一个基本的示例,实际的代码可能需要根据你的具体需求进行调整。此外,你还需要在你的VBA程序中添加适当的错误处理逻辑,以应对可能出现的各种异常情况。

    如果你需要进一步的帮助或有其他问题,请随时提问!

    评论

报告相同问题?