excel快递单号查询工具以及源码
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 |
excel快递单号查询工具以及源码的更多相关文章
- ajax实现快递单号查询
效果:(代码写的有点乱,自行修改就可以了) 源码: index.php <!DOCTYPE html> <html lang="en"> <head& ...
- 快递单号查询免费api接口(PHP示例)
快递单号查询API,可以对接顺丰快递查询,邮政快递查询,中通快递查询等.这些快递物流企业,提供了快递单号自动识别接口,快递单号查询接口等快递物流服务.对于电商企业,ERP服务企业,集成此接口到自己的软 ...
- python爬虫练手项目快递单号查询
import requests def main(): try: num = input('请输入快递单号:') url = 'http://www.kuaidi100.com/autonumber/ ...
- C#快递单号查询源码
源码本人测试过,没有啥问题,能查询快递单号,支持的快递还挺多,圆通快递.申通快递.韵达快递的都支持单号查询的,程序是通过向爱快递(www.aikuaidi.cn)接口传输参数来查询快递单号,我直接把代 ...
- php快递单号查询源码
贴下记录下php查询快递单号的源码,能查询各种快递的快递单号记录,中通.圆通快递.顺丰快递等都不是问题.只需要在 爱快递(www.aikuaidi.cn)上面申请一个快递key即可,下面把源码分享下, ...
- ECSHOP和SHOPEX快递单号查询百世快递插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询顺丰插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询申通插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
- ECSHOP和SHOPEX快递单号查询韵达插件V8.6专版
发布ECSHOP说明: ECSHOP快递物流单号查询插件特色 本ECSHOP快递物流单号跟踪插件提供国内外近2000家快递物流订单单号查询服务例如申通快递.顺丰快递.圆通快递.EMS快递.汇通快递.宅 ...
随机推荐
- OGG问题 ORA-01403的处理办法
认识logdump分析工具及常用命令:http://book.51cto.com/art/201202/319253.htm http://www.killdb.com/2012/09/01/gold ...
- Mysql分表和分区的区别
一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘 ...
- ACMDP之最长公共子序列长度—HDU1159
Common Subsequence Problem Description A subsequence of a given sequence is the given sequence with ...
- requireJS(二)
一.前言 requireJS(一) 本篇主要整理requirejs的一些用法,相对比较零散. 实例目录 二.优化 requirejs建议我们给每一个模块书写一个js文件.但是这样会增加网站的http请 ...
- 利用京东云擎架设免费Wordpress 博客(git方式)
京东云擎(JAE)是京东推出的一款公有云产品,是京东云平台生态圈的核心组成部分.与百度的BAE.新浪的SAE同样.可是JAE刚上线不久,可能非常多人都还没听说过或不太了解.我尝试在JAE安装WordP ...
- NETBSD-DTARCE
http://www.openbsd.org/papers/ https://2015.asiabsdcon.org/timetable.html.en#T3A http://teachbsd.org ...
- iOS 开发中的争议(二)
这是该系列的第二篇.在本文中,我想讨论的是:对于 UI 界面的编写工作,到底应该用 xib/storyboard 完成,还是用手写代码来完成? 本着 “使用过才有发言权” 原则,我介绍一下我的经历: ...
- oracle多表查询
多表查询首先要避免笛卡尔集,要避免笛卡尔集,那么查询条件不得少于表的个数-1. 1.显示雇员名,雇员工资以及雇员所在的部门: 2.显示部门号为10的部门名.员工名和工资: 3.显示各个雇员的姓名,工资 ...
- ThreadLocal 笔记
synchronized 同步的机制可以解决多线程并发问题,这种解决方案下,多个线程访问到的都是同一份变量的内容.为了防止在多线程访问的过程中,可能会出现的并发错误.不得不对多个线程的访问进行同步,这 ...
- jquery ajax获取和解析数据
最近项目中用到了ajax技术,之前虽然写过一点点,但是没有系统的总结过.趁着刚刚用过,手热就记录一下,方便以后查阅. $.ajax中的参数 $.ajax的函数格式: $.ajax({ type: 'P ...