Board logo

標題: [發問] vba自動儲存網頁檔案 [打印本頁]

作者: msmplay    時間: 2018-3-28 19:59     標題: vba自動儲存網頁檔案

請問如何讓以下程式碼,執行到檔案下載的時候,自動儲存檔案至同資料夾並保持原檔名.csv檔(下載檔案為.csv檔)

Sub 查詢每日數據並下載檔案()
Dim indexer As Integer
indexer = 6656 + Day(Now()) - 23

Set myIE = CreateObject("InternetExplorer.Application")
With myIE
.Visible = true
.Navigate "http://xxxxxxxxxxxx/xxx.aspx" '查詢數據網址

Do While .ReadyState <> 4
DoEvents
Loop

.Navigate "javascript:__doPostBack('ct600$phCondition3$cldDate','" & indexer & "')"
Application.Wait Now + 2 / 86400 '等待2秒
.document.forms(0).all("ct600_btnConfirm").Click '點選查詢按鈕

.Navigate "http://10.178.1.140:8023/ReportPage/ReportAgentToDay_28_tptv.aspx" '查詢數據會自動產生於此網址頁面

Do Until .ReadyState = 4
DoEvents
Loop

.document.forms(0).all("ctl00_btnDownload").Click '點選下載按鈕

'點選下載按鈕後,網頁會彈出下載檔案視窗,詢問"開啟舊檔"、"儲存"、"取消"選項
'希望能自動儲存至同資料夾並保持原檔名.csv檔(下載檔案為.csv檔)
'請問以上這段程式碼該怎麼寫呢?


End With
End Sub

[attach]28482[/attach]
作者: GBKEE    時間: 2018-4-2 11:08

回復 1# msmplay
如圖IE上移動滑鼠到CSV下載的位置,可看到檔案的網址

[attach]28495[/attach]
  1. Option Explicit
  2. Const FileName = "d:\mycsv.csv" '存檔位置錄,可自行修改
  3. Const URL = "http://www.twse.com.tw/exchangeReport/STOCK_DAY?response=csv&date=20180101&stockNo=2303"
  4. Sub Ex_存檔一()
  5.     Application.DisplayAlerts = False
  6.     With Workbooks.Open(URL)
  7.         .SaveAs FileName
  8.         .Close
  9.     End With
  10.     Application.DisplayAlerts = True
  11. End Sub
  12. Sub Ex_存檔二()
  13.     Dim Xmlhttp As Object
  14.     Set Xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1")
  15.     With Xmlhttp
  16.         .Open "POST", URL, False
  17.         .Send
  18.     End With
  19.     With CreateObject("ADODB.Stream")
  20.         .Type = 1
  21.         .Open
  22.         .write Xmlhttp.ResponseBody
  23.         If Dir(FileName) <> "" Then Kill FileName '相同名稱的檔案存在會有錯誤
  24.         .SaveToFile FileName
  25.     .Close
  26.     End With
  27. End Sub
複製代碼

作者: jackyq    時間: 2018-4-2 16:21

use win api
作者: msmplay    時間: 2018-4-12 20:46

回復 2# GBKEE


   G大~~~測試已成功,非常感謝熱心幫忙~~~~~~~~




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