Kuni/JA1UZGのもろもろブログを最新の情報に更新

色々チャレンジしていますが、記載内容は無保証です。各自の責任でお願いします。    . .
前月 << June 2019 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >>翌月
 
SELECTED ENTRIES
RECENT COMMENT
RECENT TRACKBACK
ARCHIVES
 
SBS即配便の追跡
カモ

最近・・一都三県向けにSBS即配便を使う通販サイトが増えています。
これもまた、追跡しにくい
てなわけで、またまたスクリプトを作ってみました。
別サイト用のスクリプトを最小限の修正で利用していますので、細かい所は見なかった事にして下さい。

以下を hogehogeSBS.vbs 等の名称で保存して下さい。
荷物の番号はゼロの所に適当に入れて下さい。
とりあえず、5個の荷物まで同時に追跡出来るようにしてあります。

REM --- ここから ----
Option Explicit
Dim obj, WSHShell
Const ErrMsgTxt = "SBS即配便荷物番号検索エラー"
Const pageURL = "https://www.saqura-web.com/sbs_ltrc/"

Const Account1 = "0000000000000" 'ここに荷物番号を入れる
Const Account2 = ""
Const Account3 = ""
Const Account4 = ""
Const Account5 = ""

REM ===
REM WScript IE 開始
REM ===
Set WSHShell=CreateObject("WScript.Shell")
Set obj = WScript.CreateObject("InternetExplorer.Application")
WScript.Sleep(200)
obj.Navigate pageURL
WScript.Sleep(200)
obj.Visible = True
S_IE_Wait obj
WScript.Sleep(200)
S_IE_Activate
WScript.Sleep(200)
obj.document.forms(0).elements(5).value = Account1
WScript.Sleep(100)
obj.document.forms(0).elements(9).value = Account2
WScript.Sleep(100)
obj.document.forms(0).elements(13).value = Account3
WScript.Sleep(100)
obj.document.forms(0).elements(17).value = Account4
WScript.Sleep(100)
obj.document.forms(0).elements(21).value = Account5
WScript.Sleep(100)
obj.document.forms(0).elements(45).Click
WScript.Sleep(200)
Set obj = Nothing

REM ======== IEが安定するまで待機 =======================
Private Sub S_IE_Wait ( ByRef objIE_ )
Const TimeOut = 30000 'ミリ秒単位
Const CheckTime_ = 200
Dim t_

t_ = 0
Do While objIE_.busy
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [IE.busy]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [IE.busy]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_)
Loop
t_ = 0
Do While objIE_.Document.readyState <> "complete"
t_ = t_ + CheckTime_
If t_ > TimeOut Then
MsgBox "IE Time Out error. [complete]", _
vbSystemModal + vbCritical, ErrMsgTxt & " [complete]"
WScript.Quit ' メインプログラム終了
End If
WScript.Sleep(CheckTime_) :
Loop
End Sub

REM ======== iexplore.exe をアクティブに ============
Private Sub S_IE_Activate
Dim Lt__, Sv__, En__, Sh__, It__

WScript.Sleep(200)
Set Sh__ = CreateObject("WScript.Shell")
'起動中のプロセスの一覧から iexplore.exe を検索
Set Lt__ = CreateObject("WbemScripting.SWbemLocator")
Set Sv__ = Lt__.ConnectServer
Set En__ = Sv__.InstancesOf("Win32_Process")
For Each It__ In En__
If Not IsEmpty(It__.ProcessID) Then
If InStr(It__.Description, "iexplore.exe") Then
Sh__.AppActivate(It__.ProcessID)
' Exit For
End If
End If
Next
WScript.Sleep(200)
Set Sh__ = Nothing
Set En__ = Nothing
Set Lt__ = Nothing
End Sub
REM --- ここまで ---
コメント
コメントする









 
トラックバック
この記事のトラックバックURL
http://blog1.bakw.sub.jp/trackback/1089785