在Excel中进行UPS跟踪

时间:2015-02-24 13:52:49

标签: excel hyperlink powerquery

我正在尝试使用我的Excel电子表格,我用它来跟踪我的UPS货件,以便通过交货时间戳进行更新。 我使用过以下格式: http://wwwapps.ups.com/WebTracking/processInputRequest?HTMLVersion=5.0&loc=en_US&Requester=UPSHome&tracknum=[TRK_ID]&AgreeToTermsAndConditions=yes&ignore=&track.x=25&track.y=16

其中[TRK_ID]将引用跟踪号码的单元格范围。 有了这个,我可以点击单元格中的链接,然后转到带有跟踪信息的页面。

我无法使用API​​,但只想报告投放时间戳。也许通过Power Query? 我可以使用Power Query来调用网页,然后提取传递确认时间戳吗?

3 个答案:

答案 0 :(得分:1)

它没有看到干净的UPS api为您提供交付时间戳,但Power Query可以从HTML中解析它:

let
    PackageDelivery = (tracknum as text) as text => let
        WebText = Text.FromBinary(Web.Contents("http://wwwapps.ups.com/WebTracking/processInputRequest", [Query = [tracknum = tracknum]])),
        FromDeliveredOn = Text.Range(WebText, Text.PositionOf(WebText, "Delivered On:")),
        NextDD = Text.Range(FromDeliveredOn, Text.PositionOf(FromDeliveredOn, "<dd>") + 4, Text.PositionOf(FromDeliveredOn, "</dd>") - Text.PositionOf(FromDeliveredOn, "<dd>") - 4),
        Cleaned = Text.Clean(Text.Replace(Text.Replace(NextDD, "&nbsp;", " "), "#(lf)", " "))
    in
        Cleaned,
    Invoked = PackageDelivery("1ZE1W7530369979412")  //Replace with your tracking ID
in
    Invoked

答案 1 :(得分:0)

您可以在单元格中构建一个超链接,该超链接将转到HYPERLINK function的相关页面。 A1中跟踪编号的示例:

=HYPERLINK("http://wwwapps.ups.com/WebTracking/processInputRequest?HTMLVersion=5.0&loc=en_US&Requester=UPSHome&tracknum="&A1&"&AgreeToTermsAndConditions=yes&ignore=&track.x=25&track.y=16", "UPS Tracking page")

如果您想真正提取信息,使用类似XMLHttpRequest object之类的VBA解决方案可能是您最好的行动方案。

答案 2 :(得分:0)

这里是对user4039065的答案进行了编辑,因此如果参考单元格为空(仅是我的个人喜好),则该链接不会显示:

=IF(**O18**<>"",HYPERLINK("http://wwwapps.ups.com/WebTracking/processInputRequest?HTMLVersion=5.0&loc=en_US&Requester=UPSHome&tracknum="&**O18**&"&AgreeToTermsAndConditions=yes&ignore=&track.x=25&track.y=16","Track"),"")

将公式中的两个位置的O18更改为跟踪编号所在的单元格。

相关问题