返回列表 上一主題 發帖

[發問] ACCESS網頁上抓取資料

回復 5# HSIEN6001
能否也寄一份給我,權限不夠沒辦法下載
最近要進行相關的教學,正在苦惱中
謝謝
losson@livemail.tw

TOP

本帖最後由 HSIEN6001 於 2012-5-30 10:48 編輯

回復 11# losson

檔案刪了,沒留
而且那檔案只是提供概念,如四樓的圖檔,分成兩區塊查詢--->以相同欄位名稱
匯出兩個檔案後,再重新匯入一個新表格即可
使用者必須自行在查詢中設定篩選,把空白or多餘欄位去掉

Access匯入:
DoCmd.TransferText acImportDelim, "TEST 匯入規格", "資料表檔名", CurrentProject.Path & "\TEST.txt",True     '※ True(有欄位名稱)False(無欄名稱)
DoCmd.TransferSpreadsheet acImport, "規格代號", "資料表檔名", 路徑\檔名.格式, True                                   '※ True(有欄位名稱)False(無欄名稱)

Access查詢匯出:
DoCmd.OutputTo acQuery, "查詢表檔名", 8, "路徑\檔名.xls", False        '※  False匯出查表.xls不開啟,True匯出後開啟文件


也可以在Excel表格中先處理好,再匯入Access

TOP

With .QueryTables.Add(Connection:="URL;http://bsr.twse.com.tw/bshtm/bshtm_report_
是屬於Excel下載查詢﹐Access不能用

TOP

在Access中可用Microsoft.XMLHTTP下載﹐如下列
   Dim MSXML As Object
   Set MSXML = CreateObject("Microsoft.XMLHTTP")
   strWebsite="http://bsr.twse.com.tw/bshtm/bshtm_report_Messages.aspx?strDate=20121203&StartNumber=1101"
   MSXML.Open "GET", strWebsite, False
   MSXML.SetRequestHeader "Content-type", "text/xml"
   MSXML.send

TOP

正好是我想要找的, 感謝你無私的分享

TOP

回復 14# 048101
提供的URL不Work,試試我的範例,輸出為html格式。
僅針對2330台積電測試(PageCount=13),其他股票需設定PageCount,可上網查一下上市買賣日報表查詢下載的相關程式技巧。

Option Compare Database
Sub Test()

   Dim MSXML As Object
   Set MSXML = CreateObject("Microsoft.XMLHTTP")
   fh = FreeFile
   'strWebsite = "http://bsr.twse.com.tw/bshtm/bshtm_report_Messages.aspx?strDate=20140227&StartNumber=2330"
   strWebsite = "http://bsr.twse.com.tw/bshtm/bsMenu.aspx?HiddenField_page=PAGE_BS&HiddenField_spDate=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKLTQzNzI3ODE3MQ9kFgICAQ9kFhQCBQ8WAh4JaW5uZXJodG1sBQoyMDE0LzAyLzI3ZAIGDxYCHwAFCDIwMTQwMjI3ZAIIDw8WBh4JRm9udF9Cb2xkZx4EXyFTQgKEEB4JRm9yZUNvbG9yCj1kZAIKD2QWBAIBDw9kFgIeB09uQ2xpY2sFHGphdmFzY3JpcHQ6YnV0Q2xlYXJfQ2xpY2soKTtkAgcPFgIeBXN0eWxlBQlkaXNwbGF5OjsWAmYPZBYCZg9kFgICAQ8WAh8ABQIxM2QCDA8PFgYfAWgfAgKEEB8DCkdkZAIODw8WAh4HVmlzaWJsZWhkZAIQDw8WBh8BaB8CAoQQHwMKR2RkAhIPFgIfAGVkAhQPFgIfAGVkAhUPFgIfAAUCMTNkZJhG1J6ISYtK7kIpEfImJdIAAAAA&__EVENTVALIDATION=%2FwEWCQLryNa%2BCwLjpuXcAwKN4Ij0CwLB5ZfoCQLjk6TKBwKY8en5CwLdkpmPAQL6n7vzCwLAhrvLBScjE4xZjzHjsp%2FT1DwVl9MAAAAA&HiddenField_spDate=20140227&HiddenField_page=PAGE_BS&txtTASKNO=2330&hidTASKNO=2330&btnOK=%E6%9F%A5%E8%A9%A2"
   MSXML.Open "POST", strWebsite, False
   strWebsite = "http://bsr.twse.com.tw/bshtm/bsContent.aspx?StartNumber=2330&FocusIndex=All_13"
   MSXML.Open "GET", strWebsite, False
   MSXML.SetRequestHeader "Content-type", "text/xml"
   MSXML.send
   strpageContent = MSXML.responseText
   ' Save html as text/xml
   Open "C:\myStock\AccessVBA-2330.txt" For Output As #FreeFile
   Print #fh, strpageContent
   Set MSXML = Nothing
   Close #fh
   
End Sub
很抱歉,我是小學生,不能下載檔案,是個小屁孩!

TOP

補#16的圖,有圖才有真象!
很抱歉,我是小學生,不能下載檔案,是個小屁孩!

TOP

        靜思自在 : 要批評別人時,先想想自己是否完美無缺。
返回列表 上一主題