Board logo

標題: [發問] VBA 下載網頁檔案 [打印本頁]

作者: li_hsien    時間: 2014-3-27 11:36     標題: VBA 下載網頁檔案

本帖最後由 li_hsien 於 2014-3-27 11:44 編輯

藉由EXCEL儲存格輸入文件編號
按下按鈕下載網站上這份文件編號的檔案

以下是我爬文後初步的寫法

由於要下載檔案需要經過三個網站畫面

我已經能到最後放檔案的那個畫面了

可是檔案不知怎麼下載下來

但由於網站是公司內部網站

所以瀏覽不到 小弟我僅能附圖 煩請指教  謝謝

第一個畫面
輸入編號(抓A1欄位的值)按下搜尋
[attach]17883[/attach]

進到第二個畫面
再直接點選編號名稱(超連結)
[attach]17884[/attach]

進到第三個畫面
紅框部分為我要下載的PDF檔(檔名修改為EXCEL儲存格A1的值)
[attach]17885[/attach]

目前小弟語法能夠到第三個畫面

可是不知檔案如何下載下來

另外 我想在下載下來後
回到畫面1,新輸入EXCEL儲存格A2的值
繼續下載PDF檔
  1. Option Explicit
  2. Sub 資訊網頁()
  3.     Dim A As Object, B As Object
  4.     With CreateObject("InternetExplorer.Application")
  5.         .Visible = True
  6.         .Navigate "網址"

  7.         Do While .ReadyState <> 4 Or .Busy: DoEvents: Loop
  8.       
  9.             For Each A In .document.getelementSbyTAGNAME("INPUT")
  10.                 If A.Name = "number" Then A.Value = Range("A1")     '在EXCEL表單輸入所要搜尋的值
  11.                 If A.Value = "搜尋" Then
  12.                     A.Click     '按下 搜尋
  13.                     Exit For
  14.                 End If
  15.             Next
  16.             
  17.             Do While .ReadyState <> 4 Or .Busy: DoEvents: Loop
  18.             
  19.             For Each B In .document.getelementSbyTAGNAME("A")
  20.             
  21.                 If B.innerText = Range("A1") Then     '再點入搜尋到的值(超連結方式)
  22.                     B.Click  
  23.                     Exit For
  24.                 End If
  25.                
  26.             Next

  27.     End With

  28. End Sub
複製代碼
麻煩各位大大  謝謝
作者: li_hsien    時間: 2014-3-27 17:51

我後來爬文找到的方式
大多都是這樣下載的
  1. URLDownloadToFile 0, "來源網址", "目的路徑", 0, 0
複製代碼
可是好像只適用在下載的檔案位置最後顯示為副檔名(.pdf)

但我的網站最後不是.pdf

可是他實際上點進去就是一份PDF檔

只是我要點旁邊的儲存,或是對超連結按右鍵另存

不知怎樣才能用語法下載



請教各位大大

謝謝




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