How to download a file from SharePoint with VBA?

32,340

Here is the wrapper code I currently use to download files from our Sharepoint site:

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

The function DownloadFileFromWeb returns 0 if the download was successful.

Share:
32,340
JP1
Author by

JP1

Updated on July 09, 2022

Comments

  • JP1
    JP1 almost 2 years

    I am trying to download a file from SharePoint with VBA.

    The file is a picture but the picture isn't view-able once it gets onto the system.

    I think that I'm downloading it in the wrong format.

    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
    
        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