- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
10#
發表於 2013-11-17 08:55
| 只看該作者
本帖最後由 GBKEE 於 2013-11-17 09:06 編輯
回復 9# c_c_lai
EXCEL 2003, IE 8 或許是版本不同 declNo=>tagname("INPUT") 要用 VALUE
IE8 Ar(2) = IE.getElementById("declNo").innertext '出口報單號碼 會傳回 空字串
要連同每個標題嗎 我@*#@*#@*#
參考7# joey0415 給的網址 http://portal.sw.nat.gov.tw/APGQ/GB315!query?declNo=BE++02XE580024
可捨去8#的程式碼 , 如在 8# 圖片的工作表,這程式碼就簡便了.- Option Base 1
- Sub Ex()
- Dim Ar, AA(), 出口報單號碼 As String, Sh As Worksheet
- 出口報單號碼 = InputBox("出口報單號碼", "出口報單放行資料查詢", "BE 02XE580024")
- If 出口報單號碼 = "" Then Exit Sub
- Set Sh = ActiveSheet '指定顯示資料的工作表 'ActiveSheet->作用中的工作表
- With CreateObject("Microsoft.XMLHTTP")
- .Open "GET", "http://portal.sw.nat.gov.tw/APGQ/GB315!query?declNo=" & 出口報單號碼, False
- .send
- Ar = Split(Replace(.responsetext, """", ""), ",")
- AA = Array(1, 8, 4, 7, 2, 14, 11) 'A欗的標題內容 Ar中陣列對應之索引值
- On Error GoTo Er '出口報單號碼 不正確會有錯誤:
- For i = 1 To UBound(AA)
- Sh.Cells(1 + i, "B") = Split(Ar(AA(i)), ":")(1) 'B欗
- Next
- AA = Array(5, 3, 10, 6, 12, 9) 'C欗的標題內容 Ar中陣列對應之索引值
- For i = 1 To UBound(AA)
- Sh.Cells(2 + i, "D") = Split(Ar(AA(i)), ":")(1) 'D欗
- If AA(i) = 6 Then Cells(2 + i, "D") = Replace(Cells(2 + i, "D"), "\/", "/")
- Next
- End With
- Exit Sub
- Er:
- Sh.[b2].Resize(7, 1) = ""
- Sh.[d2].Resize(7, 1) = ""
- End Sub
- End Sub
複製代碼 |
|