返回列表 上一主題 發帖

[發問] 網路CSV下載問題

回復 8# diabo

謝謝,這UR試過了,可惜抓下來文字是亂碼
G大的測試OK,但還有許多不懂,等待指點 ^__^

TOP

回復 11# HSIEN6001


    檢視IE的編碼,是否選擇「自動編碼」......
diabo

TOP

回復 12# diabo

不懂耶!
因為該UR直接顯示亂碼,所以我下載也是亂碼

請問您說的是將程式碼寫在VBA裏頭排除亂碼問題?!
可否示範?!

TOP

回復 4# GBKEE


    G大,同#5 及 #10之問題

            網頁表格 = 13  '損益表
            網頁表格 = 12  '合併損益表

可否請問13與12數據應該如何判斷這數值?!
例如:http://mops.twse.com.tw/mops/web/t56sb21_q3

TOP

本帖最後由 GBKEE 於 2013-3-31 18:38 編輯

回復 13# HSIEN6001
刪掉 encodeURIComponent=1

回復 14# HSIEN6001
diabo  提供的網址好辦些
  1. Option Explicit
  2. Sub Ex()
  3. Dim ie As Object, aa As Object, k As Integer, xx As Integer, i As Integer, j As Integer
  4. ActiveSheet.Cells.Clear
  5. Set ie = CreateObject("InternetExplorer.Application")
  6.     ie.Navigate "http://mops.twse.com.tw/mops/web/ajax_t51sb13?step=1&firstin=1&off=1&TYPEK=sii&year=100&season=04"
  7.      Do While ie.Busy Or ie.ReadyState <> 4:   DoEvents:     Loop
  8.     On Error Resume Next
  9.     Set aa = ie.Document.getelementsbytagname("table")   '表格資料區
  10.      k = 1
  11.     On Error Resume Next
  12.         For xx = 0 To aa.Length - 1
  13.         '找到後修改 For xx = ??? To aa.Length - 1
  14.             For i = 0 To aa(xx).Rows.Length - 1      '寫入資料
  15.                 Cells(k, 1) = "Table" & xx
  16.                 k = k + 1                            '列數
  17.                 For j = 0 To 19
  18.                     Application.StatusBar = "下載資料中 ..." & k - 1
  19.                     Cells(k, j + 2) = aa(xx).Rows(i).Cells(j).innertext
  20.                 Next
  21.             Next
  22.         Next
  23.     ie.Quit
  24. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 15# GBKEE

以102年1~3月為例,上市sii及上櫃otc:
網址是:
http://mops.twse.com.tw/mops/web/ajax_t56sb21?&run=&step=1&TYPEK=sii&year=102&smonth=01&emonth=03&sstep=1&firstin=true                ‘上市 sii 上櫃 otc

因為下載之後呈現亂碼,所以才用G大#4的方式
套用UR : http://mops.twse.com.tw/mops/web/t56sb21_q3?&step=0&firstin=1&off=1&TYPEK=sii&year=102&smonth=01&emonth=03  ‘上市 sii 上櫃 otc

測試完整代碼於#6 ,測試OK 的 (沒亂碼)
只是沒法理解----->網頁表格 13 or 12
遇到不同網頁,判別方式?!

PS:剛剛試 #15 的代碼,下載也呈現亂碼。

TOP

不好意思,補充說明一下
#16 兩個URL 都是指同一份表格

TOP

回復 13# HSIEN6001


1.  EXCEL的WEB查詢,也是透過IE,因此IE的設定會影響到下載的結果。
2.  IE     檢視→編碼→自動選取

抓財報彙總表.rar (327.74 KB)
diabo

TOP

回復 16# HSIEN6001
只是沒法理解----->網頁表格 13 or 12  遇到不同網頁,判別方式?!

4# 這段程式碼
  1.       k = 1
  2. 47.        On Error Resume Next
  3. 48.        For xx = 網頁表格(資訊) To AA.Length - 1
  4. 49.            For i = 0 To AA(xx).Rows.Length - 1      '寫入資料
  5. 50.                k = k + 1
  6. 51.                For j = 0 To 19
  7. 52.                    Application.StatusBar = "下載資料中 ..." & k - 1
  8. 53.                    .Cells(k, j + 1) = AA(xx).Rows(i).Cells(j).innertext
  9. 54.                Next
  10. 55.            Next
  11. 56.        Next
複製代碼
改成15#這段程式碼
  1. 10.     k = 1
  2. 11.    On Error Resume Next
  3. 12.        For xx = 0 To aa.Length - 1  
  4. 13.       '不同網頁,判別方式 '找到後修改 For xx = ??? To aa.Length - 1        
  5. 14.            For i = 0 To aa(xx).Rows.Length - 1      '寫入資料
  6. 15.                Cells(k, 1) = "Table" & xx
  7. 16.                k = k + 1                            '列數
  8. 17.                For j = 0 To 19
  9. 18.                    Application.StatusBar = "下載資料中 ..." & k - 1
  10. 19.                    Cells(k, j + 2) = aa(xx).Rows(i).Cells(j).innertext
  11. 20.                Next
  12. 21.            Next
  13. 22.        Next
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 HSIEN6001 於 2013-4-2 00:13 編輯

回復 19# GBKEE
回復 18# diabo

謝謝兩位幫忙解惑
你們都好棒喔!
感恩 ^__^

TOP

        靜思自在 : 一個人不怕錯,就怕不改過,改過並不難。
返回列表 上一主題