- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
回復 1# jewayy - Option Explicit
- Sub 助航服務費查詢_GC319()
- Dim Element, 船舶呼號 As String, xi As Integer, i As Integer, k As Integer, j As Integer
- 船舶呼號 = InputBox("船舶呼號")
- With CreateObject("InternetExplorer.Application")
- ' .Visible = True
- '.Navigate "http://portal.sw.nat.gov.tw/APGQ/GC319?request_locale=zh_TW"
- .Navigate "http://portal.sw.nat.gov.tw/APGQ/GC319"
- Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
- .Document.getelementbyid("queryType1").Click
- .Document.getelementbyid("vslSign").Value = 船舶呼號 '"9VDB7"
- For Each Element In .Document.getelementsbytagname("INPUT") ' 這個迴圈找到按鈕是第幾個輸入項
- If Element.Type = "button" And Trim(Element.Value) = "查詢" Then
- Element.Click
- Exit For
- End If
- Next
- .Document.getelementsbytagname("SELECT")(0).Value = 30 '資料數
- .Document.getelementsbytagname("SELECT")(0).FireEvent ("onchange") '讀取
- Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
- Application.Wait Time + #12:00:02 AM#
- If .Document.getelementbyid("statusMsg").Value <> "[執行成功]" Then
- MsgBox 船舶呼號 & vbLf & .Document.getelementbyid("statusMsg").Value
- .Quit
- Exit Sub
- End If
- Set Element = .Document.getelementsbytagname("TABLE") '
- With ActiveSheet
- .UsedRange.Clear
- k = 1
- For xi = 2 To 6
- If xi <> 3 Then
- For i = 0 To Element(xi).Rows.Length - 1
- For j = 0 To Element(xi).Rows(i).Cells.Length - 1
- .Cells(k, j + 1) = Element(xi).Rows(i).Cells(j).innertext
- Next
- k = k + 1
- Next
- End If
- Next
- End With
- .Quit
- End With
- MsgBox "Ok"
- End Sub
複製代碼 |
|