我正在尝试在 Excel 宏中使用 VBA 下载共享点文件。我从该网站复制了一些代码,但它不起作用。它下载了一个文件,但该文件无法正确打开。正确的文件是 28KB,但它下载的文件只有 4KB。尝试打开时会出现错误消息,指出文件格式或扩展名无效。验证文件未损坏。该文件手动下载并打开没有问题,但代码不起作用。任何帮助将不胜感激。
https://sandvik.sharepoint.com/team/PUMebaneDataHub/Shared%20Documents/Forms/Allitems.aspx
上面是文件所在的 URL。该文件是: 梅宾事故登记表.xlsx
这是从 Sharepoint 实际复制的链接 https://sandvik.sharepoint.com/:x:/r/teams/PUMebaneDataHub/Shared%20Documents/Mebane%20Incident%20Intake%20Form.xlsx?d=w8031d09838fe4673854fa5241b259fca&csf=1&web=1&e=ty1IRb
这是我的VBA代码。
Option Explicit
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
Sub DownloadFileFromWeb()
Dim i As Integer
Const strUrl As String = "https://sandvik.sharepoint.com/teams/PUMebaneDataHub/Shared%20Documents/Mebane Incident Intake Form.xlsx"
Dim strSavePath As String
Dim returnValue As Long
strSavePath = "C:\temp1\Mebane Incident Intake Form.xlsx"
returnValue = URLDownloadToFile(0, strUrl, strSavePath, 0, 0)
End Sub
见上文...我原以为它会下载该文件...但它下载了一个无法打开的垃圾文件。
最简单的方法:
Dim wb as workbook
Set wb = workbooks.open(UrlToWorkbook)
wb.saveas savePathHere