Board logo

標題: 請問此網頁有無辦法匯入excel [打印本頁]

作者: t8899    時間: 2013-7-17 21:41     標題: 請問此網頁有無辦法匯入excel

http://newmis.twse.com.tw/stock/group.jsp?ex=tse&ind=TIDX#STATISTICS
作者: GBKEE    時間: 2013-7-18 07:38

回復 1# t8899
試試看
  1. Option Explicit
  2. Sub Ex_匯入Table()
  3.     Dim i As Integer, S As Integer, K As Integer, J As Integer
  4.     Dim Element
  5.     With CreateObject("InternetExplorer.Application")
  6.         '.Visible = True           '可顯示網頁
  7.        .Navigate "http://newmis.twse.com.tw/stock/group.jsp?ex=tse&ind=TIDX#STATISTICS"
  8.         Do While .Busy Or .ReadyState <> 4: DoEvents: Loop
  9.         Set Element = .document.getelementsbytagname("table")
  10.         On Error Resume Next
  11.         With Sheets(1)
  12.             .Cells.Clear
  13.             'For s = 0 To element.Length - 1 '不知此網頁的table內容:請先行測試網頁的完整table內容
  14.             For S = 0 To 3                    '已找出網頁的table內容在 0-3 中
  15.                 For i = 0 To Element(S).Rows.Length - 1
  16.                     K = K + 1
  17.                    For J = 0 To 5   '資料的欄位共6位
  18.                         .Cells(K, J + 1) = Element(S).Rows(i).Cells(J).innerText
  19.                         '********************************************
  20.                         '不知此網頁的table內容:先行列出 table 位置  *
  21.                         'Sheets(2).Cells(k, J + 1) = s             '*
  22.                         '********************************************
  23.                     Next
  24.                 Next
  25.             Next
  26.             .Cells.EntireColumn.AutoFit            '自動調整欄寬
  27.             .Cells.EntireRow.AutoFit               '自動調整列高
  28.         End With
  29.        .Quit
  30.     End With
  31.     Set Element = Nothing
  32.     MsgBox "0K"
  33. End Sub
複製代碼

作者: t8899    時間: 2013-7-18 15:32

本帖最後由 t8899 於 2013-7-18 15:39 編輯
回復  t8899
試試看
GBKEE 發表於 2013-7-18 07:38


請問如何設定15秒自動更新一次?謝謝
作者: GBKEE    時間: 2013-7-18 19:12

論壇有很多 Application.OnTime 的討論  搜尋看看,有問題再發問.
作者: t8899    時間: 2013-7-18 19:26

本帖最後由 t8899 於 2013-7-18 19:35 編輯
論壇有很多 Application.OnTime 的討論  搜尋看看,有問題再發問.
GBKEE 發表於 2013-7-18 19:12


Sub ctrl()
If Sheet1.CheckBox1.Value = True Then
    ?????
    Application.OnTime Now() + TimeSerial(0, 0, 15), "?????"
End If
End Sub

如果用上述語法,則兩處?????怎麼填??
如果我只要後面的兩個表格,第一個不要,要怎麼改?
作者: GBKEE    時間: 2013-7-18 20:04

回復 5# t8899
Ex_匯入Table 程式碼要複製在一般模組中
????? -> Ex_匯入Table
'** 已找出網頁的table內容在 0-3 中  看你要哪些可自行決定
作者: handsometrowa    時間: 2013-7-23 15:47

回復 1# t8899


    為了您這個問題,我後來查詢了很多案例

後來詢問製作網頁的朋友,EXCEL沒辦法用正常的辦法匯入主要原因是因為

現在的新版網頁是JSON的傳輸格式

不是舊版的CSV的檔案格式,所以EXCEL目前還沒追上這種輸入格式

只能你利用G大的方,定時自己用開啟網業的方式去抓取資料用,除此之外,選擇用DDE傳輸也是不錯的方式。
作者: joey0415    時間: 2013-8-1 17:37

G大基本上是萬用的手法,我也是這樣抓,要怎麼抓就怎麼抓
作者: t8899    時間: 2013-8-5 06:39

回復  t8899
試試看
GBKEE 發表於 2013-7-18 07:38

請問此網頁兄台是否會用 VISUAL C++ 編寫  ?
還是有 VBA 轉 VISUAL C++ 的編譯程式 ?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)