Function kdcx(kd, orderid)
Dim Err, url, kdtime, link, Errcode, Status Select Case kd '此处支持的快递公司很多的
Case "申通"
kd = "shentong"
Case "圆通"
kd = "yuantong"
Case "优速"
kd = "yousu"
Case "龙邦"
kd = "longbang"
Case "城市"
kd = "cs"
Case Else
MsgBox "暂时不支持此快递,可以联系管理员添加!"
kdcx = "暂时不支持此快递"
Exit Function
End Select Set http = CreateObject("Microsoft.XMLHTTP")
url = "http://www.aikuaidi.cn/rest/?key=xxxx&order=" & orderid & "&id=" & kd & "&ord=desc&show=xml" http.Open "get", url, False
http.send
WebContent = http.responsetext
'MsgBox WebContent Set objDom = CreateObject("Microsoft.XMLDom")
objDom.async = False
objDom.LoadXML (WebContent)
If objDom.ReadyState > 2 Then
Set Item = objDom.getElementsByTagName("SyncResponseEntity") '读取页面上指定区域
For i = 0 To (Item.Length - 1)
Status = Item.Item(i).getElementsByTagName("status").Item(0).Text
If Status = 1 Then
kdcx = Status
Exit For
End If
Errcode = Item.Item(i).getElementsByTagName("errcode").Item(0).Text
' kdtime = Item.Item(i).getElementsByTagName("time").Item(0).Text
'link = Item.Item(i).getElementsByTagName("content").Item(0).Text
Next
Else
MsgBox "查询数据还未准备就绪。状态:" & objDom.ReadyState & "。"
End If
Set http = Nothing
Set objDom = Nothing Select Case Errcode
Case "0000"
Err = "无错误"
Case "0001"
Err = "传输参数格式有误"
Case "0002"
Err = "用户编号(uid)无效"
Case "0003"
Err = "用户被禁用"
Case "0004"
Err = "授权key无效"
Case "0005"
Err = "快递代号(id)无效"
Case "0006"
Err = "访问次数达到最大额度"
Case "0007"
Err = "查询服务器返回错误"
Case Else
Err = "查询出现未知错误"
End Select Select Case Status
Case "-1"
Status = "未更新的单号"
Case "0"
Status = "查询异常"
Case "1"
Status = "暂无记录"
Case "2"
Status = "在途中"
Case "3"
Status = "派送中"
Case "4"
Status = "已签收"
Case "5"
Status = "拒签收"
Case "6"
Status = "疑难件"
Case "7"
Status = "无效单"
Case "8"
Status = "超时单"
Case "9"
Status = "签收失败"
Case Else
Status = "快递状态未知情况"
End Select kdcx = Status
End Function Sub deletebutton() '删除工具栏和菜单的子程序
Dim tempbar As CommandBar '定义临时工具栏变量
On Error Resume Next '该语句用于忽略错误
Application.CommandBars("Menu Bar").Reset '重新设置Word XP的主菜单,即删除新建的菜单
For Each tempbar In Application.CommandBars '通过“For Each…Next”语句遍历Word XP所有的工具栏
If tempbar.Name = "快递查询" Then '如名称和新建的工具栏相同
tempbar.Visible = False '设置为不可视
tempbar.Delete '删除该工具栏
End If
Next
End Sub Sub addbutton() '创建工具栏和菜单并设置属性的子程序
Call deletebutton '调用删除工具栏和菜单的子程序
Set Obj_Toolbar = Application.CommandBars.Add("快递查询") '新建工具栏,“快递查询”代表工具栏的名称 Set Obj_Toolbar_button = Obj_Toolbar.Controls.Add(Type:=msoControlButton, ID:=1) '新建工具栏按钮
With Obj_Toolbar_button '设置按钮的属性
.Caption = "查询快递状态"
.Style = msoButtonIconAndCaption
.FaceId = 1018
.OnAction = "s123"
End With With Obj_Toolbar '设置工具栏的属性
.Visible = True '工具栏可视
.Enabled = True '工具栏可用
.Position = msoBarTop '工具栏置顶
End With End Sub Private Sub s123()
' Call yyy
lstRo = Cells(Rows.Count, 1).End(xlUp).Row
istart = InputBox("请你输入你想查询的开始行号", "开始行号", "2")
If istart = "" Then Exit Sub
iend = InputBox("请你输入你想查询的结束行号", "结束行号", lstRo)
If iend = "" Then Exit Sub With Cells(1, 11)
.Value = "快递状态"
.Font.Bold = True
.HorizontalAlignment = xlCenter '水平居中
.VerticalAlignment = xlCenter '垂直居中
End With For Ro = istart To iend
If Cells(Ro, 9) <> "" And Cells(Ro, 10) <> "" Then
Cells(Ro, 11).Value = kdcx(Cells(Ro, 9), Cells(Ro, 10))
End If
Next Ro
MsgBox "查询已经完毕!"
End Sub

  

能支持国内多家快递公司快递单号查询,顺丰快递、圆通快递、申通快递、ems等都支持。
key可以到快递单号查询网www.aikuaidi.cn上面申请。

调用参数:

参数名称 类型 是否必需 描述
key string 授权密钥,点击此处 [ 快递API接口申请入口 ] 即可申请
order string 快递单号,请注意区分大小写
id string 快递代号,如:圆通(yuantong)、申通(shentong),点击此处 [ 查看完整快递代号 ]
ord string 可选 排序规则: 
asc:按时间旧到新排序, 
desc:按时间新到旧排序, 
不传默认值:asc
show string 可选 返回类型: 
json:返回json字符串, 
xml:返回xml字符串, 
html:返回html字符串, 
不传默认值:json

最新文章

  1. SQL Server 维护计划实现数据库备份(策略实战)
  2. spring MVC @Resource不支持Lazy加载
  3. tomcat有哪些性能调优方法
  4. Automotive Security的一些资料和心得(1):Security Engineering
  5. Oracle ABP(Autotask Background Process)
  6. [php基础]PHP Form表单验证:PHP form validator使用说明
  7. Symfony框架系列----1.入门安装
  8. 熬之滴水成石:最想深入了解的内容--windows内核机制(15)
  9. 高效搭建Storm全然分布式集群
  10. HTML5—canvas绘制图形(1)
  11. wifi pineapple 外接USB无线网卡桥接外网
  12. JSP 学习笔记
  13. 《.NET 设计规范》第 6 章:扩展性设计
  14. hihoCoder 1493 : 歌德巴赫猜想 素数筛法
  15. [Swift]LeetCode920. 播放列表的数量 | Number of Music Playlists
  16. springboot maven 报错ArtifactDescriptorException
  17. [Swift]创建CoreData的两种方式
  18. Linux内存带宽的一些测试笔记【转】
  19. BZOJ1880或洛谷2149 [SDOI2009]Elaxia的路线
  20. Word2010去除灰色中括号标记

热门文章

  1. nyoj 1185 最大最小值【线段树最大值最小值维护】
  2. Coding girl一个老程序员谈到的一个女程序员的故事
  3. 自己封装的C#操作redis公共类
  4. java-常用快捷键
  5. UDP编程
  6. C#绘制圆形时钟
  7. Android(java)学习笔记186:对ListView等列表组件中数据进行增、删、改操作
  8. apache、mod_jk负载均衡与tomcat集群
  9. [功能帮助类] C#RandomHelper随机数,随机字符,可限制范围-帮助类 (转载)
  10. &lt;artifactId&gt;maven-compiler-plugin&lt;/artifactId&gt;