我正在嘗試遍歷 Teams SharePoint 檔案夾中的所有檔案,但我無法讓 FileSystemObject 識別地址。首先,我嘗試使用團隊中檔案夾的復制鏈接,然后使用:
Dim fso As New FileSystemObject
Dim fldr As Folder: Set fldr = fso.GetFolder("address for sharepoint folder copied above")
但它總是告訴我找不到它。我還為該檔案夾中的確切檔案嘗試了非常相似的方法,Dim fl As File: Set fl = fso.GetFile("address")但仍然無法正常作業
然后我用谷歌搜索并找到了這個鏈接:Get the content of a sharepoint folder with Excel VBA但oNetwork.MapNetworkDrive DriveLetter & ":", NetworkPath在嘗試查找該位置時仍然出錯。
我還嘗試用 \ 替換 / 并洗掉 https: 但仍然沒有好處。我還嘗試從 Teams 和 SharePoint 中獲取鏈接。還是找不到。如果我將 Excel 檔案放在該檔案夾中并告訴 excel 打開它Application.Workbooks.Open("address"),則會打開一個 excel 檔案。但我就是無法讓 Dir 或 FileSystemObject 識別地址。我懷疑這可能與沒有使用正確的地址有關,但對于我來說,我在 SharePoint 中找不到另一個地址鏈接。我真的很感激有人可以給我的任何幫助。
我專門嘗試在 MS Access 中執行此操作,但也在 Excel 中進行了測驗,結果相同。
編輯:我最終選擇了這個。我最終做的是讓用戶選擇“將快捷方式添加到 OneDrive”,如果沒有,則拋出錯誤訊息,并提供有關如何使用該訊息執行此操作的說明。不會有很多用戶需要這個特定功能,所以它應該可以滿足我的需求。
uj5u.com熱心網友回復:
您嘗試執行的操作可能在某些情況下適用于本地 SharePoint,因為它可能會在幕后使用非常舊的 WebDav 協議,但它不可能/不適用于 SharePoint Online(支持團隊的云 SharePoint ) 并且您應該使用現代 Microsoft 365 方法來執行此操作。這肯定是更多的作業,特別是因為當你在云中時安全性得到了提高(這是一件好事),但這意味著有一個學習曲線。
從本質上講,任何 Microsoft 云的主要 API 都是 Microsoft Graph。具體來說,為了獲取您想要使用 Drives 和 DriveItems 的檔案(圍繞 SharePoint 和 OneDrive 的抽象,具體取決于檔案所在的位置)。這是一個很好的起點:https ://docs.microsoft.com/en-us/graph/api/resources/onedrive?view=graph-rest-1.0
這看起來也很相關:https ://docs.microsoft.com/en-us/graph/api/channel-get-filesfolder?view=graph-rest-1.0&tabs=http
但當然,您還需要一些使用 Graph、身份驗證等方面的背景知識,因此請參見此處:https : //docs.microsoft.com/en-us/graph/overview?view= graph-rest- 1.0。您需要的安全背景關系取決于您是否代表用戶運行(例如,當用戶在 Teams 的選項卡中時),這稱為“委托”權限??,或者您是否有后臺服務/行程正在運行(就像每周做某事的程序一樣),這需要“應用程式”權限。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/420738.html
標籤:
