Excel中的UPS跟踪

我正在尝试使用我的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调用网页,然后提取交付确认时间戳吗?

它看起来没有一个干净的UPS api给你的交付时间戳,但Power Query可以parsing出来的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 

您可以在单元格中使用HYPERLINKfunction构build超链接。 在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对象的VBA解决scheme可能是你最好的行动scheme。