首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Excel VBA/JSON抓取UPS追踪发货

基础概念

Excel VBA: Excel VBA(Visual Basic for Applications)是微软公司开发的一种编程语言,用于扩展Microsoft Office应用程序的功能。通过VBA,用户可以自动化执行Excel中的任务,如数据处理、报表生成等。

JSON: JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它基于JavaScript的一个子集,采用完全独立于语言的文本格式,但通常使用JavaScript语法。

UPS追踪发货: UPS(United Parcel Service)是一家国际快递承运商,提供全球范围内的包裹和货物运输服务。UPS追踪发货是指通过UPS提供的API或网站接口,获取包裹的实时位置和状态信息。

相关优势

Excel VBA:

  • 自动化处理:可以自动执行重复性任务,提高工作效率。
  • 数据处理:强大的数据处理能力,适合处理和分析大量数据。
  • 可扩展性:可以通过调用外部程序或API,实现更复杂的功能。

JSON:

  • 轻量级:数据格式简洁,传输效率高。
  • 易于解析:大多数编程语言都提供了对JSON的支持,易于解析和处理。
  • 通用性:广泛用于Web应用程序和API数据交换。

类型

Excel VBA:

  • 宏(Macro):用于自动化执行一系列操作。
  • 模块(Module):包含多个函数和子程序的代码集合。
  • 用户表单(UserForm):用于创建交互式用户界面。

JSON:

  • 对象(Object):键值对的集合,用花括号 {} 包围。
  • 数组(Array):有序的值列表,用方括号 [] 包围。
  • 值(Value):可以是字符串、数字、布尔值、对象或数组。

应用场景

Excel VBA:

  • 数据处理和分析:自动化处理Excel中的数据,生成报表和图表。
  • 自动化办公:自动化执行日常办公任务,如邮件发送、文件整理等。
  • 系统集成:与其他系统进行数据交换和集成。

JSON:

  • Web API:用于Web应用程序之间的数据交换。
  • 移动应用:用于移动应用程序的数据传输和处理。
  • 物联网:用于设备之间的数据通信。

问题及解决方案

问题1:如何使用Excel VBA抓取UPS追踪发货信息?

解决方案

  1. 使用VBA编写一个宏,通过HTTP请求获取UPS的追踪信息。
  2. 解析返回的JSON数据,提取所需的包裹信息。
  3. 将提取的信息显示在Excel工作表中。

示例代码

代码语言:txt
复制
Sub GetUPSTrackingInfo()
    Dim url As String
    Dim response As String
    Dim json As Object
    Dim trackingNumber As String
    
    trackingNumber = "YOUR_TRACKING_NUMBER"
    url = "https://www.ups.com/track/api/Track/GetStatus?loc=en_US&requester=UPSHome&tracknum=" & trackingNumber
    
    ' 发送HTTP请求
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", url, False
        .Send
        response = .ResponseText
    End With
    
    ' 解析JSON数据
    Set json = JsonConverter.ParseJson(response)
    
    ' 提取包裹信息
    Dim status As String
    status = json("trackResponse")("shipment")("status").Value
    
    ' 显示信息
    Range("A1").Value = "Tracking Number: " & trackingNumber
    Range("A2").Value = "Status: " + status
End Sub

参考链接

问题2:如何处理JSON数据中的错误或异常情况?

解决方案

  1. 在解析JSON数据之前,检查响应的状态码和内容是否有效。
  2. 使用异常处理机制(如On Error)捕获和处理解析过程中可能出现的错误。
  3. 提供友好的错误提示信息,帮助用户理解问题所在。

示例代码

代码语言:txt
复制
Sub GetUPSTrackingInfo()
    Dim url As String
    Dim response As String
    Dim json As Object
    Dim trackingNumber As String
    
    trackingNumber = "YOUR_TRACKING_NUMBER"
    url = "https://www.ups.com/track/api/Track/GetStatus?loc=en_US&requester=UPSHome&tracknum=" & trackingNumber
    
    ' 发送HTTP请求
    With CreateObject("MSXML2.XMLHTTP")
        .Open "GET", url, False
        .Send
        response = .ResponseText
    End With
    
    ' 检查响应状态码
    If .Status <> 200 Then
        MsgBox "Error: " & .Status & " - " & ..statusText
        Exit Sub
    End If
    
    ' 解析JSON数据
    On Error Resume Next
    Set json = JsonConverter.ParseJson(response)
    On Error GoTo 0
    
    ' 处理解析错误
    If json Is Nothing Then
        MsgBox "Error: Invalid JSON response."
        Exit Sub
    End If
    
    ' 提取包裹信息
    Dim status As String
    status = json("trackResponse")("shipment")("status").Value
    
    ' 显示信息
    Range("A1").Value = "Tracking Number: " & trackingNumber
    Range("A2").Value = "Status: " + status
End Sub

参考链接

通过以上方法,你可以有效地使用Excel VBA和JSON抓取UPS追踪发货信息,并处理可能出现的错误和异常情况。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

对接塔吉特Target DVS的EDI流程是什么?

若接受订单,供应商实际完成发货后即可发出856发货通知,并提交物流单号,告知Target已完成某订单的发货操作。 客户需要每天都发送846给Target来更新自己的库存信息。...在846上线前,供应商需要先做一些设置: (1)DVS业务中,供应商只能选择Target指定的UPS或FedEx物流运输货物(运费由Target来承担),且在每次发货时,供应商需要去物流平台自行导出物流信息填写进...因此,在业务测试完成后,供应商先需要按照Target的要求提交信息来获取UPS和FedEx账号。 (2)获取到物流账号后,下一步供应商要与Target的买手对接来审核物料,审核完成的物料方可上架。...首先,对于预算低、业务量小的客户,可选择以EXCEL的方式收发报文,该方案性价比高,多为没有自己业务系统的供应商所选择。缺点就是当业务量较大时,以该方式处理数据会略显吃力。...且拥有多种集成方式,例如可使用中间数据库方案,将收到的订单信息插入到中间数据库以供ERP系统轮询、抓取数据;若是ERP系统可开放API接口,也可直接调用接口来获取数据。

79200

excel 导出json_导出的数据格式不对

json格式数据转Excel导出的两种方法 第一种table格式数据直接转Excel: 但是用这种方式会出现一种问题,就是当你的table有分页的情况下,只能抓取当前分页的数据。...拿到表格的id就可以抓取表格的数据,导出到excel,这种方式简单粗暴,引入这两个插件即可。...第一种方法问题奥特曼变身:将json数据转为table数据再进行Excel导出, 使用起来也比较简单,拿到数据直接往里面塞就是了,最后调用方法。这样的话最终所有数据都出来了。...JSON.parse(JSONData) : JSONData; var excel = ‘’; //设置表头 var row = “”; for (var i = 0,...{“value”:”退货单数量”, “type”:”ROW_HEADER_HEADER”, “datatype”:”string”}, {“value”:”发货总件数

1.2K20
  • 闲聊Python学习

    一、聊聊Excel的劣势 1、大数据处理能力不足 Excel可以处理几千行、几万行乃至几十万行,但是处理上百万行的数据总是那么力不从心,海量数据能打开已经很不错了,更不用谈如何进行处理分析了...~ 2、网页内容抓取能力不足 Excel另外一个弊端是网页抓取的力不从心,之前也用VBA实现过一些朋友的网页内容抓取需求,也许自己能力有限,没有充分发挥VBA的强大,对于反爬、密码验证等问题处理的一直不太好...二、聊聊个人的学习方向 上面的劣势已经表明了小编的学习方向,数据处理与网页抓取。 上周四帮助一个朋友用pandas实现了按照某一列拆分为不同文件的需求。...至于网页爬虫,无外乎自己的个人爱好,加上某人的需求咯~我也想将个人的方向向网站内容抓取-数据自动分析-支撑决策方向转变。...这个消息在Excel圈应该都知道了,我很乐见这个消息,一是可以告别无法系统学习的VBA,二是Excel的代码效率真的需要提高哇!但是我想等到微软真正内嵌怎么也要五六年吧!

    1.3K60

    做研究必读:一分钟教你用Excel从统计局抓数据!

    首先声明,我并没有学过HTML的语言,也没学过VBA,所以自己解释的逻辑应该是非常容易理解的,保证没有任何编程基础的都能学会。当然前提是你有Excel,没有的话出门右转有盗版。...(这里有一个很大的限制就是只能选取这个两个格式,如果要做更复杂的condition判断的话就不太可能了,如果stick to Excel的话可能需要借助VBA了。...看到现在我们应该可以理解Excel是怎么操作的吧,so easy~ 但是对于统计局网站的数据抓取其实有一个问题,因为他是一个一个网页发布的数据,并且跟其他数据混在一起随机排列,所以说具体选取需要抓取的网页还是得人工了...所以也可以借助这个function来将网页中的信息,比如说搜索具体关键字的网页地址输入到Excel,然后再将这个网页地址自动输入到一开始的IMPORTHTML( ) function里面用来抓取所有选中网页的...其实利用VBA也可以做这件事,不过可能就需要另外学习一下VBA了,不过大概思路感觉应该是这样。 当然如果有编程背景的最好还是用Python或者Java来做爬虫啦,毕竟比较主流,工具包也比较多。

    1.1K30

    亚马逊店铺分析

    当然也不全如此,这里面有一列数据叫追踪号,这是快递订单号。接下来我们想要获得所有订单的物流数据就需要通过这个追踪码去获得。...四、数据清洗 根据销售给的追踪码,我通过爬虫在官网上把所有订单的物流数据都爬下来,获得一份物流数据报表。如下图所示,我将原始数据进行清洗,得到现在已经做好的数据。...UPS是美国快递公司,后面用快递公司代替 一份分析报告要让别人看的懂,就必须要写好说明文档,把数据来源和判断逻辑都清晰的列出来。...1.店铺一共648条数据,通过整理分析得到以上图表 2.造成未及时送达的主要原因在于未及时发货 3.快递公司单日和一天内送到的占比是97.2% 4.分析166条未及时发货数据,发现打单到发货时间集中在1...6.分析打单到发货时间在两天以上的数据,发现06和07仓库的发货效率比较低,需要进行问责。

    70220

    小特工具箱新增模块:大数据分析工具

    我们以分析豆瓣电影评论为例,春节档电影最大黑马要数贾玲的《你好,李焕英》,我们通过抓取能够得到这部电影的豆瓣电影评论,保存成JSON。...因为这个工具目前是单表操作,所有我们要额外加工下,把评论时间拆分下,分成评论日期和评论小时,还要再加一个聚合字段(相当于销售订单中的发货数量,用于统计)。至此,要分析的数据我们就准备好了。 ?...下面打开这个模块,将生成好的JSON文件复制至文本框,点击按钮:加载数据。之后会切换到基础数据面板,可以直接生成DataTable数据和解析出栏目列。 ?...最后补充下,这个工具的数据源,支持这些 JSON字符串和文件,要求List结构 Excel文件,首个Sheet页数据 SQL语句,需连接数据库 DataTable(转成DataSet再WriteXml即可

    58210

    做数据只知道Excel?Jupyter Notebook也要学起来了

    有了它,你可以分析价格和实时数据、评估交易组合、计算 VaR、执行回测等等;有了它,你就是数据透视表、公式、图表甚至 VBA 和 PowerQuery 的专家。...然而,尽管你可以快速处理解决方案,但在你得到结果之前,电子表格已经扩展到数十个标签页、上千行以及数不清的 VBA——这使得它的可读性和可维护性遭到破坏。...电子表格就像是一块空画布,「业余程序员」可以在这上面用 Excel 专用语言(公式或者 VBA)进行编程。...时间序列 财务分析:交易和计量金融、市场数据分析、股票/衍生产品市场分析、彭博数据访问、执行引擎、回测、风险分析等等 机器学习工作流(如预测市场价格) 绘图和交互式可视化 SQL 支持 发送邮件 网页抓取...开源可访问性 - 它有一个库 错误追踪 自动化更加简单 自编文档 - 不要低估它的价值!

    2.7K30

    实现提前获取订单状态实时更新的最佳方式——ASN

    ASN即提前发货通知,如果没有ASN,配送中心的收货过程效率会很低。根本原因是仓库无法及时获取什么货物即将到达以及何时到达等关键信息。...什么是 FedEx、UPS 或 USPS 追踪号码?(代发货订单) ASN中可以包含许多重要信息,这些信息是零售商、分销商甚至是在某些情况下对于消费者而言都是十分重要的。...当商品直接运送给消费者(代发货订单)时,它可能会提供运送信息,例如 FedEx、UPS 或 USPS 的跟踪号码。此时ASN可用于完成从消费者的信用卡中收回资金。...在发货之前,供应商可以在他们所有的箱子、板条箱和箱子上放置条形码,并将该信息包含在 ASN 中。当货件到达时,使用发货通知中的数据快速检查货物并接受交货。

    1.2K30

    VBA编程基础和编程环境(二)

    上一节中认识了Excel 宏的基本样子,明白了VBA就是一门类似于C、JAVA、Python等编程语言,了解了VBA与宏的关系,本节开始学习VBA编程的基础知识和编程环境,是整个学习编程的基础。...一、VBA编程的几个重要概念 0、过程 把VBA代码按照一定顺序和逻辑排列用来完成Excel某个任务的过程,其实就是用VBA代码按照先后顺序排列来完成某个任务的经过。...1、对象 对象,是VBA程序编写和流程控制的目标事物,如:工作簿、工作表、单元格等。...5、方法 方法,是对对象执行的某一动作,如:打开工作簿、复制工作表、选择单元格、开启水壶电源、统计4年级2班学生成绩、抓取网页数据等等,方法在VBA程序中的标示如下所示:...二、VBA编程环境介绍 打开VBA编辑器有很多办法,如:开发工具-visual basic,编辑器的界面如下图所示: 上图中,红外框图区域是工程资源管理器,黄色框图区域是属性窗口

    2K20

    Excel实战技巧78: 创建个人宏工作簿

    个人宏工作簿是一个文件,可以在应用程序开启时运行其中的VBA代码,就像是运行功能区选项卡中的命令一样。创建个人宏工作簿很简单,如下所示。...此时,Excel将自动创建个人宏工作簿文件。按Alt+F11键,打开VBE编辑器,可以到工程资源管理器窗口中有一个名为“Personal.xlsb”的VBA工程。 ?...图2 步骤3:双击Personal.xlsb中的模块,在其中编写我们想要实现功能的VBA代码。 步骤4:保存文件。...通常,Excel会自动将个人宏工作簿文件保存在默认位置: C:\Users\[insert your username]\AppData\Roaming\Microsoft\Excel\XLSTART...Wb.ActiveSheet.Name End Sub 接着,插入一个标准模块并命名为TabBack,输入代码: Dim TabTracker As New TabBack_Class '初始化Tab追踪和快捷键触发

    2.8K30

    应用|让Excel的目录超级自动化

    其实就是在目录工作表中加载了几行VBA代码,具体的代码如下(左右滑动看完整代码): Private Sub Worksheet_Activate() Application.ScreenUpdating...比如如下代码是因为我习惯定义第一个工作表作为此Excel的描述和修订版本的追踪,第二个工作表是目录,所以需要在目录里生成第三个工作表和之后的工作表的索引: For i = 3 To Sheets.Count...一个是目录工作表后移导致目录混乱,所以要严格控制For循环中i和j的关系,并且保证目录工作表的位置不变: 第二个可能遇到的问题是再次打开ExcelVBA不工作的问题,主要原因是宏被禁止了。...方案一是打开消息提示窗口,然后在每次打开excel的时候就会有安全问题的提示,直接允许即可: 方案二就是直接允许运行VBA的宏,一劳永逸,但是会有安全方面的风险,比如我司就直接不允许修改宏配置:...最后还有一个小bug,就是工作表的名字不能是数字,否则会提示bug,这个时候点击End然后修改工作表名字即可: 到这里,Excel使用VBA生成自动化的目录索引就告一段落了,或者你有更好的方案也欢迎留言私信分享

    1.1K30

    数据分析常用工具

    Excel 常用操作有函数、可视化、数据透视表、VBA。...函数 可视化 i.单元格 ii.静态图 iii.动态图 即带有控件(部分涉及VBA),可以选择数据并动态展示结果的图表,如果要用Excel来做业务数据的Dashboard,动态图是很好的解决方案。...,该套装基本是“行走江湖”必备,涉及函数、VBA、操作、数据透视表等; Excel图表之道,刘万祥; 点评:最早是从博客上了解到刘老师(博客为“刘万祥ExcelPro”),那时才发现Excel也可以做出非常高大上的商务图...; 左手数据,右手图表,徐军泰; 点评:该书主要讲动态图,也就是可以有交互操作的图表,第一份工作的时候参考此书做了一个半自动化的Excel监控模板,受益颇多; 别怕,Excel VBA其实很简单,Excel...XML, HTML, json格式的数据; 非结构化数据,e.g.

    2.4K90

    python爬取股票最新数据并用excel绘制树状图

    2月26日大盘云图 那么,今天我们试着用python爬取最近交易日的股票数据,并试着用excel简单绘制上面这个树状图。本文旨在抛砖引玉,吼吼。 目录: 1....爬取网易财经各板块股票数据 2. excel树状图 2.1.  简单的树状图 2.2. 带有增长率的树状图 1....树状图 excel树状图是在office2016级之后版本中新加的图表类型,想要绘制需要基于此版本及之后的版本哦。...下面我们试着探究一下,如果成功的话,那么金融界的大盘云图似乎也可以用excel树状图来进行绘制了不是!...VBA填充色块颜色 先看效果: 湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。 ?

    2.3K30

    python爬取基金股票最新数据,并用excel绘制树状图

    以下截图来自金融界网站-大盘云图: 那么,今天我们试着用python爬取最近交易日的股票数据,并试着用excel简单绘制上面这个树状图。...dfLabel.values: # 获取页数 j = get_json(hy_id, 0) pages = j['pagecount'] for page in range(pages): j = get_json...树状图 excel树状图是在office2016级之后版本中新加的图表类型,想要绘制需要基于此版本及之后的版本哦。...下面我们试着探究一下,如果成功的话,那么金融界的大盘云图似乎也可以用excel树状图来进行绘制了不是!...最终配色效果: 四、VBA填充色块颜色 先看效果: 湖北因为收到疫情影响最大,有接近小半年属于封省状态,全年增长率为负数。

    2.3K00

    如何与墨西哥大众VW Mexico建立EDI连接

    业务报文代码 业务含义 传输方向 VDA 4987 提前发货通知ASN L公司发送给墨西哥大众 Label 标签 EDI系统生成标签 了解到需求信息后,在沟通EDI解决方案时,L公司向我们EDI项目经理提出...在进行讨论沟通之后,最终确定了使用Excel方案。...确认之后的业务字段以Excel表格的形式呈现出来,作为之后要传输文件的Excel模板。...注:发货信息(Despatch info)里面的集装箱数(Loading_units_num)就是发货的箱子总数量。...首先我们用知行之桥EDI系统的Email Receive端口设置对L公司【指定的邮箱】进行抓取文件,抓取文件之后匹配值【VDA 4987】用来获取订单数据,然后同时进行两项操作: ①把从邮箱获取到的Excel

    60420

    如何使用Excel来构建Power BI的主题颜色?

    Power BI很大一部分是用于可视化的展现,如果要设定自定义的主题颜色,通常都是使用json格式的文件来构建,其中json的格式文件以官网样例为例,很简单的几个参数既能构建主要色系。 ?...那如何使用Excel来快速生成主题格式的json文件呢? 要实现这个主题颜色的构建,需要有2个方面的条件。...颜色,需要使用16进制的颜色格式 参数名称,对应Power BI主题内容 如果我们要从Excel单元格颜色直接获取16进制的颜色命名,通常需要使用到VBA,可以自行搜索网上的VBA单元格颜色转16进制的程序...通过导入主题文件后,再来查看下主题颜色,和之前在Excel中输入的主题颜色对比下就能得到一个颜色列表,当然先忽略颜色的搭配,后续可以根据实际情况来进行搭配使用。 ?...因为Power Query生成的json的代码没有经过格式化,如果希望能用格式化检查其中的内容的话,可以使用Json格式化的工具,例如Pycharm等。 ?

    2.8K10
    领券