返回列表 上一主題 發帖

[發問] 下載問題

[發問] 下載問題

本帖最後由 spermbank 於 2013-9-6 10:32 編輯

大家好:
     我想下載如網址http://newmis.twse.com.tw/stock/fibest.jsp?stock=1101的最佳五檔價量資訊揭示。
     因為使用過excel從網站取得外部資料的功能,但是無法讀取,不知道是什麼問題。

    所以想說是否可以在分頁選取股號名稱,啟動巨集,再從如上網址將目前時間所揭示的最佳五檔價量資訊,儲存成csv檔,並將買進、賣出數量加總,顯示於分頁中呢?
    謝謝。

本帖最後由 spermbank 於 2013-9-6 14:15 編輯

回復 2# GBKEE


    感謝G大,但是我發現個問題,因為這個網站開啟後,會讀取即時資料,若直接執行巨集,速度過快,會發生""無法每次""資料完全複製至分頁
    我利用Application.Wait Now + TimeValue("00:00:02")來使網址停留2秒等待網頁資料讀入資料再複製至分頁,雖然可以提高一點資料完全複製
    可是還是有時無法完全讀到,是否有什麼判斷方式,還是哪邊有問題呢?謝謝。
   
    若是用Google Chrome是把InternetExplorer.Application改成什麼呢?
    網頁是否不要顯示就複製至分頁呢? 謝謝。

TOP

回復 4# GBKEE

Option Explicit
Sub 基本市況報導網站()
    Sheets("工作表3").Select
    Dim xlVbTable(1 To 2) As Object, R As Integer, C As Integer, i As Variant, Y As Integer
    With CreateObject("InternetExplorer.Application")
        .Visible = True
       .Navigate "http://newmis.twse.com.tw/stock/fibest.jsp?stock=5490"
        Application.Wait Now + TimeValue("00:00:02")
        Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
        Set xlVbTable(1) = .Document.getElementById("hor-minimalist-a")
        Set xlVbTable(2) = .Document.getElementById("hor-minimalist-b")
        On Error Resume Next
        With ActiveSheet
            .Cells.Clear
            Y = 1
            For i = 1 To 2
                For R = 0 To xlVbTable(i).Rows.Length - 1
                    For C = 0 To xlVbTable(i).Rows(R).all.Length - 1
                        .Cells(Y, C + 1) = xlVbTable(i).Rows(R).Cells(C).innertext
                    Next
                    Y = Y + 1
                Next
            Next
        End With
       .Quit
    End With
End Sub

TOP

回復 5# spermbank


    若是用Google Chrome是把InternetExplorer.Application改成什麼呢?
    網頁是否不要顯示就複製至分頁呢? 謝謝。

TOP

本帖最後由 spermbank 於 2013-9-6 15:13 編輯

回復 7# GBKEE


G大您好:
     大概就是如附件兩張圖片所示(讀不到的情況不一定)。
     另外網頁會跑出來能隱藏嗎? 謝謝。
     
     改成開啟網頁多2秒,能夠完整複製機率變90%以上,但是速度上慢2秒也不能完全解決問題。

1.PNG (8.15 KB)

1.PNG

2.PNG (9.47 KB)

2.PNG

TOP

回復 10# GBKEE


     G大再請問一下:
     因為一次只能開啟一個網址就必須等待2秒,可不可以一次開啟X個網址再等待2秒呢?
     這樣就可以一次解決X個,只花B秒。

TOP

        靜思自在 : 閒人無樂趣,忙人無是非。
返回列表 上一主題