Board logo

標題: 從網路硬碟下載excel檔至桌面 卻無法正常開啟檔案 [打印本頁]

作者: justintoolbox    時間: 2015-6-26 11:21     標題: 從網路硬碟下載excel檔至桌面 卻無法正常開啟檔案

本帖最後由 justintoolbox 於 2015-6-26 11:22 編輯

各位前輩們大家好,小弟想從自己的網路硬碟下載EXCEL檔至桌面。
目前遇到的問題是:下載的檔案是錯誤的無法開啟,如下圖
[attach]21263[/attach]

不知道該哪裡出了問題,再請各位前輩指導,感謝!
  1. Option Explicit

  2. Sub DownloadXLFileFromURL()

  3.      Dim myURL As String, sFilename As String
  4.      myURL = "https://drive.google.com/open?id=0B3PmLEYBktf4MENuMXZOcW9BN2M"
  5.      sFilename = Environ("SystemDrive") & Environ("HomePath") & _
  6.              Application.PathSeparator & "Desktop" & Application.PathSeparator & _
  7.              "file.xlsx"
  8.    
  9.      Dim WinHttpReq As Object, oStream As Object
  10.      Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
  11.      WinHttpReq.Open "GET", myURL, False ', "username", "password"
  12.     WinHttpReq.Send
  13.    
  14.      myURL = WinHttpReq.ResponseBody
  15.      If WinHttpReq.Status = 200 Then
  16.          Set oStream = CreateObject("ADODB.Stream")
  17.          oStream.Open
  18.          oStream.Type = 1
  19.          oStream.Write WinHttpReq.ResponseBody
  20.          oStream.SaveToFile sFilename, 2  ' 1 = no overwrite, 2 = overwrite
  21.         oStream.Close
  22.      End If

  23. End Sub
複製代碼

作者: justintoolbox    時間: 2015-6-27 10:32

各位前輩們大家好,小弟想從自己的網路硬碟下載EXCEL檔至桌面。
目前遇到的問題是:下載的檔案是錯誤的無法 ...
justintoolbox 發表於 2015-6-26 11:21



各位前輩們或高手們!能否指點迷津一下!拜託了!感恩!
作者: jackyq    時間: 2015-6-27 12:20

沒有帳號密碼沒法子測試啊
作者: justintoolbox    時間: 2015-6-27 14:15

沒有帳號密碼沒法子測試啊
jackyq 發表於 2015-6-27 12:20


Jackyq你好,恕無法提供帳號密碼。但是我有在VBA內填上帳號與密碼一樣是無法使用。
另一點不知什麼原因:若電腦內有安裝googledrive 則可以下載檔案,但無法打開excel檔
若電腦內無安裝googledrive則程式執行到WinHttpReq.Send 就會有錯誤!(這部分我都有把帳號與密碼都填入了!)

想說請問各位高手,如果撇開小弟提供的代碼,
如果我想要下載:https://drive.google.com/uc?export=download&id=0B3PmLEYBktf4MENuMXZOcW9BN2M
該怎麼撰寫?再次懇請各位高手指點!拜託了!!!!!
作者: jackyq    時間: 2015-6-27 14:48

回復 4# justintoolbox

你說若電腦內有安裝googledrive 則可以下載檔案,但無法打開excel檔
那請你把你說的那個無法打開的excel檔
上傳給大家試試看能不能打開
如果我們也不能打開
是否可表示你用 VBA 下載的excel檔是個損毀的檔案
這樣至少可以先濾掉一些可能性
作者: justintoolbox    時間: 2015-6-28 04:41

回復 4# justintoolbox

想說請問各位高手,如果撇開小弟提供的代碼,
如果從網路硬碟下載連結為以下:(不需要帳號與密碼)
https://drive.google.com/uc?export=download&id=0B3PmLEYBktf4MENuMXZOcW9BN2M
該怎麼撰寫VBA?
網路下載這方面小弟真的很不懂。
再次懇請各位高手指點。

拜託了
作者: lpk187    時間: 2015-6-28 11:35

本帖最後由 lpk187 於 2015-6-28 11:43 編輯

回復 6# justintoolbox

下載後的檔案並不是.xlsx檔,而是.html檔,但你存的副檔名為.xlsx所以Excel誤以為是損壞的檔案,其實是.html檔
  其實我也不會,我只是照著你原程式及方法去做,而發現的



[attach]21281[/attach]
作者: mark15jill    時間: 2015-6-28 11:48

各位前輩們大家好,小弟想從自己的網路硬碟下載EXCEL檔至桌面。
目前遇到的問題是:下載的檔案是錯誤的無法 ...
justintoolbox 發表於 2015-6-26 11:21



    "file.xlsx"
這個分開寫 試試看~

"file" & ".xlsx"

或改存
"file" & ".xls"
作者: justintoolbox    時間: 2015-6-28 14:46

回復 8# mark15jill
lpk187 : 謝謝你幫我測試 。雖然還沒有解決方法,不過還是很謝謝你提供一些訊息。
mark15jill :謝謝你提供你的一些建議 ,我剛剛也試過了。只是還是一樣到了"WinHttpReq.Send"就出現錯誤訊息

其他的高手不知道能否提供解決方案,拜託了




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