2017-02-23 2 views
1

Ich versuche, eine Datei von Sharepoint mit VBA herunterladen und kann nicht herausfinden, wie es geht! Die Datei ist eigentlich ein Bild (nicht sicher, ob das wichtig ist?) Und der Download geht gut, aber das Bild ist nicht sichtbar, sobald es auf das System gelangt. (Code unten) Ich denke, dass ich es im falschen Format herunterladen, aber (wie ich schon sagte) kann ich es nicht herausfinden.So laden Sie eine Datei von Sharepoint mit VBA

Jede Hilfe würde sehr geschätzt werden! 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

Sie können die Sharepoint-Site einem Netzlaufwerk zuordnen und dann die FileCopy-Methode verwenden. Wahrscheinlich viel einfacher. –

+0

Haben Sie den vollständigen Pfad zu dem Bild in myURL? Außerdem macht die Zeile 'myURL = WinHttpReq.ResponseBody' keinen Sinn. – FunThomas

+0

Ich stimme @ScottHoltzman hier zu. Das würde ich tun. Eine Alternative ist die UrlDownloadToFile API. Siehe: http://stackoverflow.com/questions/34923409/excel-vba-urldownloadtofile-error-for-https-ressource/34989402 –

Antwort

1

Hier ist der Wrapper-Code I-Dateien herunterladen von unserer Sharepoint-Website verwenden, um zur Zeit:

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 

Die Funktion DownloadFileFromWeb 0 zurück, wenn der Download erfolgreich ist.

+0

Das ist großartig! Ich danke dir sehr! – JP1

Verwandte Themen