dポイントプレゼントキャンペーン実施中!

こんにちは。
業務で、発行した宅配伝票番号を入力し、その出荷状況をインターネットの荷物追跡などで調べたいと思っています。
結果については、集荷店より出荷したか(「伝票未登録」の状態でないかどうか)だけを判別できればいいのですが、これらの結果を、インターネット上から一括で取得する方法はないでしょうか?
たとえば、100件分くらいの出荷データで、まだ出荷しているものと出荷していないものが混在しているデータがあり、これを一括でどこかに送ったり、もしくは何らかの処理(CSVアップロード?)をすると、「未出荷」「出荷済み」のフラグを返してくれるというようなしくみが理想です。

発伝する場所と出荷場所、出荷時期が異なるため、このような仕組みを必要としています。

最終的には、access2000にその結果データを取り込んで、出荷管理をしたいと思っています。
なにかよい方法がありましたらご教授ください。

A 回答 (2件)

さて、いくつかの大きな問題を抱えていますが、


こういうのはどうでしょう。

・ Access でフォームを作成します。
・ 「挿入」-「ActiveX コントロール」にて
  「Microsoft Web Browser」を貼り付けます。
・ 貼り付けたコントロールの名前を WebBrowser0 とします。
・ 適当にボタンを作成し、名前を Command0 とします。
・ ボタンの「イベント」-「クリック時」
  に対応するコード作成画面に入ります。
・ 下記のようなコードを書きます。

Private Sub Command0_Click()

Dim strData As String
Dim bData() As Byte

strData = "no1=1234567890&act=1"

ReDim bData(Len(strData) - 1)
bData = StrConv(strData, vbFromUnicode)

WebBrowser0.Navigate2 "http://k2k.sagawa-exp.co.jp/cgi-bin/Sagawa.webcg … , , bData, "Content-type: application/x-www-form-urlencoded"

End Sub
・ 以上、準備出来たらフォームを開いて、ボタンを押してみます。

> strData = "no1=1234567890&act=1"
この10桁の番号がちゃんとした「お問い合わせNo」なら
結果が得られるかもしれません。

このように佐川急便のインターネットによる荷物追跡
サービスを利用して、取り込む方向性があります。

ただ問題点は
■ サービスを提供する CGI の仕様を勝手に解析して
  利用しているので、このような利用が禁じられる
  可能性があり、そうでなくても仕様を変えられると
  こちらもその度にプログラムを変更しないといけない。
ということがあります。

さて、これでうまくいった場合
Private Sub WebBrowser0_DocumentComplete(ByVal pDisp As Object, URL As Variant)

Text = WebBrowser0.Document.documentElement.outerHTML
End Sub

のプログラムで、返ってきた HTML を取得することが
できます。この HTML から「未出荷」「出荷済み」の
情報を抽出できれば、完成です。

さて、この二つのプログラムを、データベースに保存
してある、すべてのお問い合わせNo について実行し
その結果をレコードに書き込めは、出荷状況をデータベースに
取り込むことが可能になります。

# その前に、佐川さんややまとさんに
#「インターネット上から一括で取得する方法は
# ないでしょうか?」と相談するのがよいかと・・・
    • good
    • 0

ヤマト運輸は送り状発行ソフトを利用した場合、伝票ナンバーから簡単に出荷済みか否かをチェック出来ます。


データはCSV,XML等のデータで落とせるようです・・・が、逆はどうでしょう・・・難しいかなあ。
結局、運送会社のデータベースにアクセスしてやらなければ出荷済みか否かの状況はチェック出来ないので、独自の形式のデータで処理しようと言うのは結構難しいと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!