- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
3#
發表於 2016-7-1 18:16
| 只看該作者
回復 2# super16666
試試看- Option Explicit
- Sub Ex() '境外結構型商品資訊觀測站(資訊公告平台)
- Dim E As Variant, Sh As Worksheet, xRow As Double, xTable As Object, xTable_Msg As Boolean
- Dim i As Integer, xPag As Integer, xPag_All As Integer, xR As Integer, xC As Integer
- Set Sh = ActiveSheet
- Sh.Cells.Clear
- With CreateObject("InternetExplorer.Application")
- .Visible = True
- .Navigate "http://structurednotes-announce.tdcc.com.tw/Snoteanc/apps/bas/BAS210.jsp"
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- For i = 1 To .Document.all("AGENT_CODE").Length - 1
- .Document.all("AGENT_CODE")(i).Selected = True
- For Each E In .Document.all.tags("INPUT")
- If E.Type = "button" And E.Value = "查詢" Then E.Click '' input type="button" value="查詢"
- Next
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- xRow = xRow + 1
- Sh.Range("a" & xRow) = .Document.all("AGENT_CODE")(i).innertext
- If InStr(.Document.body.innertext, "所輸入之查詢條件查無相關的資料") Then
- xRow = xRow + 1
- Sh.Range("a" & xRow) = "查無相關的資料"
- Else
- xPag_All = 1
- For Each E In .Document.all.tags("img")
- If InStr(E.href, "fp.gif") Then
- E.onclick '前往 第一頁 的按鍵
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- Exit For
- End If
- Next
- For Each E In .Document.all.tags("img")
- If InStr(E.href, "lp.gif") Then
- xPag_All = Split(E.onclick, "'")(1) '往最後一頁按鍵: 讀取(總頁數)
- Exit For
- End If
- Next
- xTable_Msg = True
- xPag = 0
- Do
- '**********測試查看比對所下載頁數資料**********
- xRow = xRow + 1
- Sh.Range("a" & xRow) = .Document.all("AGENT_CODE")(i).innertext & " 下載 第 " & xPag + 1 & " 頁 共 " & xPag_All & " 頁"
- Sh.Range("a" & xRow).Select
- '***********無誤後 程式碼可註解掉*******************************
- Application.StatusBar = .Document.all("AGENT_CODE")(i).innertext & " 下載 第 " & xPag + 1 & " 頁 共 " & xPag_All & " 頁"
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- Set xTable = .Document.all.tags("TABLE")(2)
- For xR = IIf(xTable_Msg, 0, 2) To xTable.Rows.Length - 1
- xRow = xRow + 1
- For xC = 0 To xTable.Rows(xR).Cells.Length - 1
- Sh.Cells(xRow, xC + 1) = IIf(xC = 0, "'", "") & xTable.Rows(xR).Cells(xC).innertext
- Next
- Next
- xTable_Msg = False
- For Each E In .Document.all.tags("img")
- If InStr(E.href, "np.gif") Then E.Click
- Next
- xPag = xPag + 1
- Loop Until xPag_All = xPag
- End If
- Next
- .Quit '關閉網頁
- End With
- Application.StatusBar = " 下載 Ok"
- End Sub
複製代碼 |
|