返回列表 上一主題 發帖

[發問] vba 抓取 javascript:__doPostBack('','')數值每日自動+1問題

[發問] vba 抓取 javascript:__doPostBack('','')數值每日自動+1問題

本帖最後由 msmplay 於 2018-3-25 09:45 編輯

Sub 查詢每日數據()
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','6656')" '點選查詢日期'6656'代表數字23,也就是當月23號
Application.Wait Now + 2 / 86400 '等待2秒
.document.forms(0).all("ct600_btnConfirm").Click '點選查詢按鈕
End With
End Sub
---------------------------------------------------------------------------------------------------------

以上程式碼已知:
可使用.Navigate "javascript:__doPostBack('ct600$phCondition3$cldDate','6656')"點選網頁日期視窗的日期

問題:
如何讓'6656'這個數值能每日自動+1,以自動取得每日數據,無需人工每日更改數據

例如:
6656 = 23 (代表當月23號)
6657 = 24 (代表當月24號)
6658 = 25 (代表當月24號)
6659 = 26 (代表當月24號)
6660 = 27 (代表當月24號)
6661 = 28 (代表當月24號)
6662 = 29 (代表當月24號)
6663 = 30 (代表當月24號)
6664 = 31 (代表當月24號)
6665 = 1 (代表當月1號)
以此類推.....
*宅女一枚無誤*

回復 2# jcchiang


   j大~~~~真是太厲害了你,實測已成功,非常感謝幫忙喔!!
*宅女一枚無誤*

TOP

回復 2# jcchiang

   j大~~可以再向你請教一個問題嗎?請問以下需要自動儲存檔案的程式碼你會嗎?
----------------------------------------------------------
Sub 查詢每日數據並下載檔案()
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',' " & (Format(Date, "0") - 36529) & " ')"
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


*宅女一枚無誤*

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題