Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 2620|回复: 3

[已解决]VBA链接网站快递100数据,提取表格显示问题

[复制链接]
发表于 2017-10-18 13:50 | 显示全部楼层 |阅读模式
刚在网上看到有个网友分享了一个用excelVBA 制作的快递查询工具,但是下载后发现查询的结果跟踪记录显示成了时间,烦请帮忙改正一下,谢谢 2017-10-18_134351.png Excel查快递.zip (16.77 KB, 下载次数: 8)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2017-10-18 15:50 | 显示全部楼层    本楼为最佳答案   
本帖最后由 苏子龙 于 2017-10-18 15:53 编辑
  1. Sub Main()
  2.     Dim strText As String, Url As String
  3.     Dim sType As String, sNum As String, sTypeSelect As String
  4.     Dim ar(1 To 99, 1 To 2), i As Integer, Mh As Object
  5.     sTypeSelect = [b2]:    sNum = [b3]
  6.     If sTypeSelect = "中通" Then
  7.         sType = "zhongtong"
  8.     ElseIf sTypeSelect = "申通" Then
  9.         sType = "shentong"
  10.     ElseIf sTypeSelect = "圆通" Then
  11.         sType = "yuantong"
  12.     ElseIf sTypeSelect = "顺丰" Then
  13.         sType = "shunfeng"
  14.     ElseIf sTypeSelect = "EMS" Then
  15.         sType = "ems"
  16.     ElseIf sTypeSelect = "全峰快递" Then
  17.         sType = "quanfengkuaidi"
  18.     ElseIf sTypeSelect = "天天" Then
  19.         sType = "tiantian"
  20.     ElseIf sTypeSelect = "宅急送" Then
  21.         sType = "zhaijisong"
  22.     ElseIf sTypeSelect = "安能" Then
  23.         sType = "anneng"
  24.     ElseIf sTypeSelect = "德邦" Then
  25.         sType = "debang"
  26.     ElseIf sTypeSelect = "速尔" Then
  27.         sType = "suer"
  28.     ElseIf sTypeSelect = "韵达" Then
  29.         sType = "yunda"
  30.     Else '
  31.        MsgBox "'该快递公司无法识别:" & sTypeSelect
  32.         Exit Sub
  33.     End If
  34.     Url = " http://www.kuaidi100.com/query?type=" & sType & "&postid=" & sNum
  35.     With CreateObject("MSXML2.XMLHTTP")
  36.         .Open "GET", Url, False
  37.         .Send
  38.         strText = .responsetext
  39.     End With
  40. '    Debug.Print strText
  41.     With CreateObject("vbscript.regexp")
  42.         .Global = True
  43.         .Pattern = "ftime"":""([0-9\- :]+)"",""context"":""(.+?)"",""location"
  44.         Set Mh = .Execute(strText)
  45.         If Mh.Count = 0 Then Exit Sub
  46.         For i = 1 To Mh.Count
  47.             ar(i, 1) = Mh(i - 1).submatches(0)
  48.             ar(i, 2) = Mh(i - 1).submatches(1)
  49.         Next
  50.     End With
  51.     With Range("d2:e100")
  52.         .ClearContents
  53.         .Value = ar
  54.     End With
  55. End Sub
复制代码

重新做了个,参考网址http://club.excelhome.net/thread-1159783-1-1.html
回复

使用道具 举报

发表于 2017-10-18 15:54 | 显示全部楼层
本帖最后由 苏子龙 于 2017-10-18 16:41 编辑

加附件

Excel查快递改.zip

19.28 KB, 下载次数: 20

Excel查快递改2.zip

22.46 KB, 下载次数: 32

只要单号就行

回复

使用道具 举报

发表于 2017-11-1 06:26 | 显示全部楼层
学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-26 20:07 , Processed in 0.461324 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表