- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
4#
發表於 2015-3-6 09:19
| 只看該作者
回復 3# t8899
再試試看- Option Explicit
- Sub ABC123()
- Dim XDate As Date, A As Object
- Application.ScreenUpdating = False
- Sheets("3").Select
- XDate = Date
- With CreateObject("InternetExplorer.Application")
- .Visible = False
- .Navigate "http://www.twse.com.tw/ch/trading/exchange/MI_INDEX/MI_INDEX.php"
- 330:
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- .Document.ALL("qdate").Value = Format(XDate, "E/MM/DD") '日期可修改
- .Document.ALL("selectType").Value = "ALLBUT0999"
- .Document.ALL("query-button").Click
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- If InStr(.Document.BODY.innerText, "查無資料") Then
- XDate = XDate - 1
- GoTo 330
- End If
- Do
- Set A = .Document.getElementsByTagName("table")
- Loop Until A.Length = 6
- .Document.BODY.innerHTML = A(4).outerHTML
- Do While .Busy Or .readyState <> 4: DoEvents: Loop
- .ExecWB 17, 2 ' Select All
- .ExecWB 12, 2 ' Copy selection
- With Sheets("3") '可指定工作表
- .UsedRange.Clear
- .Range("A1:P1000").ClearContents
- .Range("A2").Select
- .PasteSpecial Format:="HTML", Link:=False, DisplayAsIcon:=False, NOHTMLFormatting:=True
- End With
- .Quit '關閉網頁
- End With
- End Sub
複製代碼 |
|