返回列表 上一主題 發帖

請問此網頁有無辦法匯入excel

請問此網頁有無辦法匯入excel

http://newmis.twse.com.tw/stock/group.jsp?ex=tse&ind=TIDX#STATISTICS

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

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

TOP

G大基本上是萬用的手法,我也是這樣抓,要怎麼抓就怎麼抓

TOP

回復 1# t8899


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

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

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

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

只能你利用G大的方,定時自己用開啟網業的方式去抓取資料用,除此之外,選擇用DDE傳輸也是不錯的方式。

TOP

回復 5# t8899
Ex_匯入Table 程式碼要複製在一般模組中
????? -> Ex_匯入Table
'** 已找出網頁的table內容在 0-3 中  看你要哪些可自行決定
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 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

如果用上述語法,則兩處?????怎麼填??
如果我只要後面的兩個表格,第一個不要,要怎麼改?

TOP

論壇有很多 Application.OnTime 的討論  搜尋看看,有問題再發問.
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

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


請問如何設定15秒自動更新一次?謝謝

TOP

回復 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
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【時日莫空過】一個人在世間做了多少事,就等於壽命有多長。因此必須與時間競爭,切莫使時日空過。
返回列表 上一主題