- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
14#
發表於 2013-11-17 15:52
| 只看該作者
是為了方便指定AR陣列中指定的元素,在放進想要的CELLS中嗎?
如果要批次找100值放進去跑回圈,中間有錯的話
要放 on error resume next嗎? 回復 13# joey0415
沒錯是要放進想要的CELLS.
如果預期會有錯誤的程式碼之前 寫上 on error resume next ,程式就一直執行下去,如真有錯誤你是會不知道的
回復 11# jewayy
- Option Explicit
- Option Base 1
- Sub 口報單通關流程查詢()
- Dim 出口報單號碼 As String, Rng As Range, AR, S As Variant, E As Variant, i As Integer, W As String, II As Integer
- Dim Sh As Worksheet
- 出口報單號碼 = InputBox("出口報單號碼", "出口報單放行資料查詢", "BE 02XE580024")
- If 出口報單號碼 = "" Then Exit Sub
- Set Sh = ActiveSheet
- '指定顯示資料的工作表 'ActiveSheet->作用中的工作表
- Set Rng = Sh.Range("b2:B9, D3:D7, D9, B11, D11")
- '**AR內容: 參照 **** 出口報單通關流程查詢(GB309) 網頁的原始檔*****
- AR = Array("transTypeCd", "vslRegNo", "declNo", "brokerBoxNoName", "mawb", "hawb", "declType", "relCondSubCd" _
- , "soNo", "custCd", "carrierAgencyCd", "arrangeNo", "examMethod", "debitMark", "firstSendDate", "lastSendDate")
- With CreateObject("Microsoft.XMLHTTP")
- .Open "GET", "http://portal.sw.nat.gov.tw/APGQ/GB309!query?&choice=D&declNo=" & 出口報單號碼, False
- .send
- S = Replace(.responsetext, """", "")
- End With
- i = 1
- '*********** 查詢結果 *****
- For Each E In Rng
- E = ""
- If InStr(S, AR(i)) Then
- W = Mid(Split(Mid(S, InStr(S, AR(i)) + Len(AR(i))), ",")(0), 2)
- E = IIf(InStr(LCase(W), "null"), "", W)
- End If
- i = i + 1
- Next
- '***************通關流程**********
- AR = Split(S, "data:[")(1) '攔截 "data:[" 後的字串
- AR = Split(AR, "]")(0) '攔截 "[" 前的字串
- AR = Replace(Mid(AR, 2, Len(AR) - 2), "null", " ") '替換 "null" 為 " "
- AR = Replace(AR, "T", " ") '替換 "T" 為 " "
- AR = Split(AR, "},{") '以 "},{" 分割為陣列
- S = Array(4, 2, 0, 1, 3)
- Sh.Range("A13").CurrentRegion.Offset(1) = ""
- For i = 0 To UBound(AR)
- For II = 0 To UBound(S) - 1
- E = Split(AR(i), ",")(S(II + 1)) '以 S(II + 1)的值 取得 Split(AR(i), ",")陣列的索引值
- Sh.Cells(i + 14, "A").Offset(, II) = Mid(E, InStr(E, ":") + 1)
- Next
- Next
- End Sub
- '出口報單通關流程查詢(GB309) 網頁的原始檔
- '<td class="resultHeader">海空運別</td><td id="transTypeCd" class="result">
- '<td class="resultHeader" width="25%">海關通關號碼</td><td width="25%" id="vslRegNo" class="result">
- '<td class="resultHeader" width="25%">裝貨單編號</td><td width="25%" id="soNo" class="result">
- '<td class="resultHeader">報單號碼</td><td id="declNo" class="result">
- '<td class="resultHeader">關區代碼</td><td id="custCd" class="result">
- '<td class="resultHeader">報關業者箱號</td><td id="brokerBoxNoName" class="result">
- '<td class="resultHeader">運輸業者/代理行代碼</td><td id="carrierAgencyCd" class="result">
- '<td class="resultHeader">託運單主號</td><td id="mawb" class="result">
- '<td class="resultHeader">理單號碼</td><td id="arrangeNo" class="result">
- '<td class="resultHeader">託運單分號</td><td id="hawb" class="result">
- '<td class="resultHeader">申請審驗方式</td><td id="examMethod" class="result">
- '<td class="resultHeader">報單類別</td><td id="declType" class="result">
- '<td class="resultHeader">放行附帶條件</td><td id="relCondSubCd" class="result">
- '<td class="resultHeader">是否為沖退稅e化報單</td><td id="debitMark" class="result">
- '<tr><td colspan="4" class="resultHeader">傳送總額交查至財稅中心的日期</td>
- '<td class="resultHeader">第一次傳送日期</td><td id="firstSendDate" class="result">
- '<td class="resultHeader">最後一次傳送日期</td><td id="lastSendDate" class="result">
複製代碼 |
|