如何使用 VBA 从 SharePoint 下载文件?

JP1*_*JP1 1 excel sharepoint vba

我正在尝试使用 VBA 从 SharePoint 下载文件。

该文件是一张图片,但该图片一旦进入系统就无法查看。

我认为我以错误的格式下载它。

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
Run Code Online (Sandbox Code Playgroud)

Tra*_*mor 6

这是我目前用于从我们的 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
Run Code Online (Sandbox Code Playgroud)

如果下载成功,函数 DownloadFileFromWeb 返回 0。

  • 不用说,但如果您在共享点上使用“获取链接”,它的直接文件 URL 中将会有一堆其他内容。您可能必须删除 .xlsx 之后的所有内容才能正确下载。 (2认同)