2016年5月14日 星期六

01.
[題目]
請撰寫程式,以HTMLTable物件將GOGOFUND網站代號為47092的基金歷史淨值下載到Temp工作表。網址如下:
http://www.gogofund.com/convch/fund/nav_historical.asp?FundID=47092


 '-------------------------------------------------------------------------------------
[解答]
Sub 操作HTMLTable物件以抓取表格資料()
    Dim myIE As Object
    Dim myTable
    Dim Tables
    Dim i As Integer
    Dim j As Integer
    Set myIE = CreateObject("InternetExplorer.Application")
 '前期綁定,也可寫成:Set myIE = New InternetExplorer
    With myIE
        '.Visible = True
        .navigate "http://www.gogofund.com/convch/fund/nav_historical.asp?FundID=47092"
        Do Until .readyState = READYSTATE_COMPLETE
     '跑回圈直到成功開啟,也可寫成:Do Until .readystate = 4
        Loop
        Set Tables = .document.getelementsbytagname("table")
  '抓取網頁中所有表格物件,也可寫成:Set Tables = .document.all.tags("table")
    End With
    With ThisWorkbook.Worksheets("Temp")
        .Cells.Clear
        For Each myTable In Tables
            If Left(myTable.innertext, 2) = "序號" Then
   '在每個表格中尋找表格開頭為最左邊二個字元為"序號"者
                For i = 0 To myTable.Rows.Length - 1  '逐行處理
                    For j = 0 To myTable.Rows(0).Cells.Length - 1  '逐欄處理
                        .Cells(i + 1, j + 1) = myTable.Rows(i).Cells(j).innertext
                    Next j
                Next i
            End If
        Next
    End With
    myIE.Quit
    Set myIE = Nothing
End Sub

'-------------------------------------------------------------------------------------

02.
[題目]
試著以HTMLTable物件到台灣期貨交易所下載民國2015年1月23日的台指期五個交割月份的成交價量資料到「臨時資料」工作表。該網頁網址如下:
"http://www.taifex.com.tw/chinese/3/3_1_1.asp?syear=2015&smonth=1&sday=23&COMMODITY_ID=TX"
提示:請先跑迴圈將每個表格的innerText寫入工作表的A1、B1…,以確認要抓取的表格是第幾個表格。
'-------------------------------------------------------------------------------------
[解答] '用即時運算視窗確認是哪一個表格
Sub aa()
    Dim myIE As Object
    Dim myTable
    Dim Tables
    Dim i As Integer
    Set myIE = New InternetExplorer
    With myIE
        .navigate "http://www.taifex.com.tw/chinese/3/3_1_1.asp?syear=2015&smonth=1&sday=23&COMMODITY_ID=TX"
        Do Until .readyState = 4
        Loop
        Set Tables = .document.all.tags("table")
    End With
    For Each myTable In Tables
        Debug.Print myTable.innerText
        Debug.Print i
        i = i + 1
        Debug.Print "----------------"  '表隔間用"---"隔開
    Next
    myIE.Quit
    Set myIE = Nothing
 
End Sub
'-------------------------------------------------------------------------------------
Sub 練習9_6()
  Call 用HTMLTable下載台指期五個交割月份價量資料("2015", "01", "23")
 '呼叫下面的程式
End Sub
'-------------------------------------------------------------------------------------
Sub 用HTMLTable下載台指期五個交割月份價量資料(myY, myM, myD)
  Dim myIE As InternetExplorer
  Dim WebAddress As String
  Dim i As Integer
  Dim j As Integer
  Dim Tables
  WebAddress = "http://www.taifex.com.tw/chinese/3/3_1_1.asp?" & _
              "syear=" & myY & "&smonth=" & myM & "&sday=" & myD & "&COMMODITY_ID=TX"
  Set myIE = New InternetExplorer
  With myIE
    .navigate WebAddress
    Do Until .readyState = READYSTATE_COMPLETE
 '跑回圈直到成功開啟,也可寫成:Do Until .readystate = 4
    Loop
    Set Tables = .document.getElementsByTagName("Table") '抓取網頁中所有表格物件
  End With
  With Tables(4)
    For i = 0 To .Rows.Length - 1      '逐行處理
      For j = 0 To .Rows(0).Cells.Length - 1      '逐欄處理
        Worksheets("臨時資料").Cells(i + 1, j + 1) = .Rows(i).Cells(j).innerText
      Next j
    Next i
  End With
  MsgBox "下載完成!"
  myIE.Quit
  Set myIE = Nothing
End Sub
'-------------------------------------------------------------------------------------
 

Related Posts:

  • 轉貼:投資天才陳進郎的投資理論文章來自日上發發發網站。純個人參考用。 我在強勢股原則跟產業動態苦力研究之下,現在四億元可操作資金,投資的就有一百四十檔,不過有五成資金放在前面二十檔,剩下一百二十檔隨時修正替換。由於 每天看一百檔股票,因此我才說我是全心投入,確是苦力型操作。有時候還會夢見隔天股價走勢,這樣,我不去設定大盤指數,我也不去設定何時該買該賣,或是資 金該如何配置,以我的操作原則,不符合強勢股就會被淘汰。 股票其實都是壞股票,因此投資人不應該對股票懷有感情,… Read More
  • 看的到 吃不到 期貨最大的風險在於「無知」 看對一樣死 悲劇了!期貨大佬1億4500萬十天虧完!高槓杆的人生好苦 10天暴虧 2億人民幣被斷頭 橡膠期貨大佬跳樓 統一證券前總裁慘賠六億元的教訓 20190704 台指期閃崩 程式交易商損失10億 二、長天期的移動平均線 葛蘭碧八大法則  可以找到4個買點 4個賣點 基於以上三個理由,我們可以建立一套以費波南希係數為主移動平均線系統,以便控管波浪… Read More
  • 下載網頁表格資料(用QueryTable物件) │題目│ 鉅亨基金網每一檔基金的歷史淨值都有一個網頁,且淨值資料分別放在三個表格。試撰寫程式用QueryTable物件下載摩根東協基金(JP東協)最新資料的那個表格內容到「臨時資料」工作表。該網頁網址如下: http://fund.cnyes.com/detail/摩根東協基金/B08,017/historical/ 提示:請用WebTables屬性接收表格的編號。 │解答│ 1.找出表格代號   *執行前開啟即時運算視窗檢視 S… Read More
  • 贏在修正不在預測2013年看完《股市大贏家》後,峰仔就再買了《股市大贏家Ⅱ》,這本書在我書架擱了二年後,最近總算讀完,如同前書,這也是本少見的股市好書,而且還是國人所寫。但不同於前書的,是本書分享了更多的具體操作手法。 不過,作者是股票專職人,習於短線操作股票,但峰仔本身並不喜觀整天盯盤的短線操作。話雖如此,本書在中長線的操作上,仍有許多好的見解與操作手法。舉例來說,作者在書中反覆強調60日線的重要性,但60日線已更偏向中長線的參考,所以我說,書中還是有許多觀念… Read More
  • 下載網站的表格型態資料 01. [題目]請撰寫程式,以HTMLTable物件將GOGOFUND網站代號為47092的基金歷史淨值下載到Temp工作表。網址如下:http://www.gogofund.com/convch/fund/nav_historical.asp?FundID=47092  '---------------------------------------------------------------------------------… Read More

0 意見:

張貼留言

標籤

總網頁瀏覽量

76,544

Translate

Popular Posts

Blog Archive