1

UPS の貨物を追跡して配達タイムスタンプを更新するために使用している Excel スプレッドシートを使用しようとしています。私は次の形式を使用していました: 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 を使用して Web ページを呼び出し、配信確認のタイムスタンプを抽出することはできますか?

4

3 に答える 3

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
于 2015-10-11T08:14:39.587 に答える
0

HYPERLINK 関数を使用して、関連するページに移動するハイパーリンクをセル内に作成できます。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 ソリューションが最善の方法でしょう。

于 2015-02-24T14:16:14.253 に答える