Board logo

標題: [發問] 登入網頁選擇日期下載資料問題 [打印本頁]

作者: msmplay    時間: 2018-3-3 20:18     標題: 登入網頁選擇日期下載資料問題

目前只會寫到以下登入網頁,但希望可以透過自動化取代每日人工作業,可以請大師們幫幫忙嗎~~~~
另外想請問大師們如果這不用VBA來寫,是不是用.vbs或.bat也可以做到,或哪一個會比較有效率呢?謝謝∼∼∼∼
------------------------------------------------------------------------
Sub test()
    Dim a As Object, b As Object
    Set a = CreateObject("internetexplorer.application")
    With a
    .navigate "http://10.178.1.140:8023/Login.aspx"
     Do While .ReadyState <> 4
         DoEvents
    Loop
   .Visible = True
    Set b = .Document.all.tags("INPUT")
    .Document.all.txtUserName.innertext = "XXXXX"
    .Document.all.txtPassword.innertext = "XXXXX"
    .Document.all.btnLogin.Click
    End With
End Sub
------------------------------------------------------------------------
以上可以登入網頁,登入後的網址會變成http://10.178.1.140:8023/ConditionPage/ConditionEmpty.aspx
不過登入後要點選的步驟+圖文說明可能會有點長,所以我把它放到附檔,如果可以~~~~~希望這些每天人工重複動作的步驟可以自動執行
[attach]28407[/attach]
[attach]28408[/attach]

[attach]28409[/attach]
作者: jackyq    時間: 2018-3-3 21:35

回復 1# msmplay

那是你公司內部的網頁吧
作者: msmplay    時間: 2018-3-3 22:17

回復 2# jackyq


   j大~~~~沒錯
作者: msmplay    時間: 2018-3-23 23:55

抓文+測試了好久,終於修修改改出了以下我所需要的程式碼,只是目前還遇到幾個問題,不知道能不能請其他大師們幫看一下~~~

以下是我希望能自動登入公司網站 > 點選查詢日期 > 下載所需數據檔案,但因為是公司內網無法提供測試網頁,想問最後一步自動存檔的程式碼要怎麼接續寫呢?
另外查詢日期javascript:__doPostBack('ctl00$phCondition3$cldDate','6656'這段,該如何讓'6656'這個數字能自動更新,或用什麼方式可以讓數字每天自動+1呢?例如'6656'是今天3/23,希望明天能自動點選'6657'就是3/24當天,後天能自動點選'6658'就是3/25當天...以此類推。

Sub 自動登入()
Dim a As Object
Set myIE = CreateObject("InternetExplorer.Application")
With myIE
  .Visible = False
  .Navigate "http://10.178.1.140:8023/Login.aspx" '登入網址

     Do While .ReadyState <> 4
        DoEvents
     Loop

Set a = .document.all.tags("INPUT")
  .document.all.txtUserName.innertext = "BS0110" '登入帳號
  .document.all.txtPassword.innertext = "BS0110" '登入密碼
  .document.all.btnLogin.Click '點選登入按鈕

     Do Until .ReadyState = 4
        DoEvents
     Loop

  .Navigate "http://10.178.1.140:8023/ConditionPage/ConditionAgentDay.aspx" '查詢數據網址
  Application.Wait Now + 2 / 86400 '等待2秒
  .document.all.ctl00_tvReportListt16.Click '點選進入數據網址的確認按鈕
  Application.Wait Now + 2 / 86400 '等待2秒
  .Navigate "javascript:__doPostBack('ctl00$phCondition3$cldDate','6656')" '點選查詢日期'6656'代表數字23,也就是當月23號
  Application.Wait Now + 2 / 86400 '等待2秒
  .document.forms(0).all("ctl00_btnConfirm").Click '點選查詢按鈕
  Application.Wait Now + 2 / 86400 '等待2秒
  .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




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