2017-02-23 3270 views
1

VBAでSharepointからファイルをダウンロードしようとしていますが、その方法を理解できません。 ファイルは実際には写真です(問題があるかどうかは分かりません)。ダウンロードがうまくいくようになりましたが、画像が表示されてもシステムに表示されません。 (下のコード) 私は間違った形式でダウンロードしていると思っていますが(私が言ったように)私はそれを理解することはできません。VBAでSharepointからファイルをダウンロードする方法

ご協力いただければ幸いです! JP

ここ
Sub DownloadFromSharepoint() 
Dim myURL As String 
myURL = "https://MYSHAREPOINTSITE" 

Dim WinHttpReq As Object 
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP") 
WinHttpReq.Open "GET", myURL, False 
WinHttpReq.Send 

myURL = WinHttpReq.ResponseBody 
    If WinHttpReq.Status = 200 Then 
     Set oStream = CreateObject("ADODB.Stream") 
     oStream.Open 
     oStream.Type = 1 
     oStream.Write WinHttpReq.ResponseBody 
     oStream.SaveToFile ("C:\Users\DOMAIN\temp.jpg") 
     oStream.Close 
    End If 
End Sub 
+0

Sharepointサイトをネットワークドライブにマップし、FileCopyメソッドを使用することができます。おそらくもっと簡単でしょう。 –

+0

myURLのイメージへの完全なパスはありますか?さらに、 'myURL = WinHttpReq.ResponseBody'という行は私にとっては意味がありません。 – FunThomas

+0

ここで@ScottHoltzmanに同意します。それは私がやることです。代わりに、UrlDownloadToFile APIを使用しています。参照:http://stackoverflow.com/questions/34923409/excel-vba-urldownloadtofile-error-for-https-ressource/34989402 –

答えて

1

は、私は現在、私たちのSharePointサイトからファイルをダウンロードするために使用するラッパーコードです:

Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, _ 
    ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long 

Function DownloadFileFromWeb(strURL As String, strSavePath As String) As Long 
    ' strSavePath includes filename 
    DownloadFileFromWeb = URLDownloadToFile(0, strURL, strSavePath, 0, 0) 
End Function 

ダウンロードが成功した場合0を返すDownloadFileFromWeb機能。

+0

これは素晴らしいことです!どうもありがとうございます! – JP1

関連する問題