返回列表 上一主題 發帖

[發問] CreateObject("InternetExplorer.Application") 執行完有時會無法跳出??

有無辦法將此網頁匯入EXCEL ??

本帖最後由 t8899 於 2014-1-9 07:31 編輯

http://www.twse.com.tw/ch/trading/exchange/TWTB4U/TWTB4U.php  (網站當天資料大約21:00會更新)

TOP

回復  t8899

表格中按下滑鼠右鍵
GBKEE 發表於 2014-1-9 09:08


日期改為1/8 會變成兩個資料框(都需要匯入)
第一個匯出會變成1/9 (當日)(今日資料晚上才會update)
第二個匯出會變成"此web沒有傳回資料............"

Snap1.jpg
2014-1-9 14:37

TOP

回復  t8899
GBKEE 發表於 2014-1-9 15:43


您也把鉅額交易日成交資訊也放進來, 謝謝

TOP

回復  t8899
GBKEE 發表於 2014-1-9 15:43

再請教一下,如何不要自動調整欄寬??

TOP

日期改為1/8 會變成兩個資料框(都需要匯入)
第一個匯出會變成1/9 (當日)(今日資料晚上才會update)
第 ...
t8899 發表於 2014-1-9 14:37

請教一下
1 ==> webURL = "URL;http://www.twse.com.tw/ch/trading/exchange/TWTB4U/TWTB4U.php

2 ==>  With CreateObject("InternetExplorer.Application")
   .Navigate "http://newmis.twse.com.tw/stock/group.jsp?ex=tse&ind=TIDX#STATISTICS"

1,2有何不同?? 第二個可以用改用第一個方法 ??

TOP

[發問] CreateObject("InternetExplorer.Application") 執行完有時會無法跳出??

本帖最後由 t8899 於 2014-1-13 12:07 編輯

CreateObject("InternetExplorer.Application") 執行完有時會無法跳出??
有時會在記憶體裡???如果不理它,會越來越多個iexplorer.exe 到最後會出現錯誤.............

Option Explicit
Sub timestock()
Application.ScreenUpdating = False
    Dim i As Integer, S As Integer, K As Integer, j As Integer
    Dim Element
    With CreateObject("InternetExplorer.Application")
        '.Visible = True           '可顯示網頁
       .Navigate "http://newmis.twse.com.tw/stock/group.jsp?ex=tse&ind=TIDX#STATISTICS"
        Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
        Set Element = .document.getelementsbytagname("table")
        On Error Resume Next
              With Sheets("sheet5")
           .Cells.CLEAR
                'For s = 0 To element.Length - 1 '不知此網頁的table內容:請先行測試網頁的完整table內容
            For S = 2 To 3                    '已找出網頁的table內容在 0-3 中
                For i = 0 To Element(S).Rows.Length - 1
                    K = K + 1
                 For j = 0 To 5   '資料的欄位共6位
                         .Cells(K, j + 1) = Element(S).Rows(i).Cells(j).innerText
                        '********************************************
                        '不知此網頁的table內容:先行列出 table 位置  *
                        'Sheets(2).Cells(k, J + 1) = s             '*
                        '********************************************
                    Next
               Next
            Next
     '       .Cells.EntireColumn.AutoFit            '自動調整欄寬
      '      .Cells.EntireRow.AutoFit               '自動調整列高
        End With
       .Quit
    End With
    Set Element = Nothing
  '  MsgBox "0K"
End Sub
Snap1.jpg
2014-1-13 11:54

本帖最後由 t8899 於 2014-1-13 15:40 編輯

有時可以跳出??有時又無法跳出??真奇怪.......
仔細觀察,第一次執行為兩個ieplorer.exe 在執行 ??,接下來就一次一個........
我把   .Visible = True  '==> enable
殘留是一個空白的網頁

TOP

本帖最後由 t8899 於 2014-1-14 09:00 編輯
回復  t8899
此網頁的程式碼
GBKEE 發表於 2014-1-13 17:40

1.此網頁有三個表格,我只要
第二個放入A1及
第三個"股票"欄位放入C5
如何修改?
2.由於我30秒會執行一次此程序
借IE 抓開開關關,似乎較慢...用上樓的程序有時還是會卡住無法關閉?(一直出現"ok"訊息視窗")
是否有其他寫法??

TOP

一直出現"ok"訊息視窗是套入我的巨集的一段
For i = 1 To 10
Dim aaa As Variant
aaa = Sheets("Sheet5").Range("C3")
If IsNumeric(aaa) Then Exit For
If Not IsNumeric(aaa) Then Run "timestock"
Next

TOP

本帖最後由 t8899 於 2014-1-14 14:48 編輯
回復  t8899
一直出現"ok"訊息視窗??  你是中學生應該會關閉這"ok"視窗.有問題試著自己解決,VBA才會進步. ...
GBKEE 發表於 2014-1-14 13:50

  '  MsgBox "0K"
主要不是MsgBox 的問題,是ie 跳不出來..........
現在又可以跳出來了!
謝謝! 我自己在慢慢找..........
我也有興趣把它找出來!:)

TOP

        靜思自在 : 脾氣嘴巴不好,心地再好也不能算是好人。
返回列表 上一主題