使用 VBA 從 SharePoint 下載檔案會導致檔案損壞
您好,針對上述問題,我一直在嘗試將檔案從我們的 Teams Sharepoint 下載到我們本地網路上的服務器位置。但是,即使在我嘗試下載它之前,該檔案也無法正確打開(請參閱下面的代碼)。excel 檔案打開但沒有顯示資料或網格
我的觀察是我的檔案鏈接看起來與示例不同,但由于它是由 sharepoint 中的“復制鏈接”按鈕生成的,我假設(這可能很危險)它沒問題。我可以手動打開檔案
另一個觀察結果是另一個用戶可能同時訪問該檔案
請任何意見或建議。
宏的目的是打開一個作業表,洗掉其他用戶可能已將其作為 csv 匯出到本地網路的任何過濾器(該檔案將由 bcp 獲取以用于 SQL 服務器)
我的起始代碼是
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 Get_BuyerComments()
Dim i As Integer
'Const strUrl As String = "https://<Changed>.sharepoint.com/:x:/s/PlanningPurchasing/JOB1 comments.xlsx ' does not file file
Const strUrl As String = "https://<Changed>.sharepoint.com/:x:/s/PlanningPurchasing/Eac2D7-rfQlIlxOrHedg7jUBhgkHq2aGRppJ-yxKU4SYTw?e=HcsT3K"
'Const strUrl As String = "https://teams.microsoft.com/l/file/<Changed>-7DAB-4809-9713-AB1DE760EE35?tenantId=7b63345c-30b9-4fa5-913d-94d8c63cf3b9&fileType=xlsx&objectUrl=https://bladonjetslimited.sharepoint.com/sites/PlanningPurchasing/Shared Documents/General/JOB1 comments.xlsx&baseUrl=https://bladonjetslimited.sharepoint.com/sites/PlanningPurchasing&serviceName=teams&threadId=19:[email protected]&groupId=9b8235b6-faed-4285-b95b-07aec3d8763c"
Workbooks.Open Filename:=strUrl
Dim strSavePath As String
Dim returnValue As Long
strSavePath = "\\<Changed>\BPA Exports\Shortage Report\Production\Processing\butercomments.xlsx"
returnValue = URLDownloadToFile(0, strUrl, strSavePath, 0, 0)
End Sub
uj5u.com熱心網友回復:
您需要通過 SharePoint 身份驗證(已登錄)。您在本主題和上一個主題中的代碼似乎不包含任何型別的身份驗證。
檔案可能沒有損壞,它只是您正在下載的“拒絕訪問”頁面而不是檔案。例如,您可以使用記事本檢查檔案的內容。
URLDownloadToFile非常適合 Internet 下載,但您需要針對 SharePoint對用戶進行身份驗證。這對于 VBA 來說并非微不足道。我建議您使用一些更適合該任務的工具而不是 VBA,例如電源自動化。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/366807.html
下一篇:粘貼陣列到范圍只粘貼第一個值
