簡體   English   中英

用於在 Excel 中將文件從一個 Sharepoint 文件夾移動到另一個文件夾的 VBA

[英]VBA for moving file from one Sharepoint folder to another in Excel

我想編寫(或找到)一些 VBA 代碼,當有人單擊宏按鈕時,這些代碼基本上會將 XL 工作表從一個 Sharepoint 文件夾移動到另一個 Sharepoint 文件夾。

到目前為止,我發現的唯一解決方案是我需要將 Sharepoint 鏈接映射到本地文件夾,然后使用 .FSO 代碼,但這對我不起作用,因為出於安全原因沒有管理員訪問權限。

到目前為止我發現的唯一代碼如下

Function ConvertPath(path) As String
  ConvertPath = Replace(path, " ", "%20")
  ConvertPath = Replace(ConvertPath, "/", "\")
  ConvertPath = Replace(ConvertPath, "http:", "")
End Function
Private Sub Approve_Click()
  Dim sDocPath As String
  Dim sDocPathConv As String
  Dim sFileName As String
  Dim sTargetPath As String
  Dim sSourcePath As String
  Dim fso As FileSystemObject
  Set fso = New FileSystemObject ' CreateObject("Scripting.FileSystemObject")
  sDocPath = ThisWorkbook.path
  sFileName = "WorkBook.xlsx"

  sDocPathConv = ConvertPath(sDocPath)

  sSourcePath = sDocPathConv & "https://xxxx.sharepoint.com/sites/xxxxxx/" & sFileName
  Debug.Print "Source: " & sSourcePath     
  sTargetPath = sDocPathConv & "https://xxxx.sharepoint.com/sites/xxxxxxx/" & sFileName
  Debug.Print "Target: " & sTargetPath
  fso.CopyFile sSourcePath, sTargetPath, True
End Sub

甚至這段代碼也不起作用,因為它總是給出一個錯誤,指出“找不到路徑”。 我一點也不熟悉 VBA 編程。

嘗試在 Windows 資源管理器中將 SharePoint 同步到 OneDrive。 那么下面的代碼應該可以工作。

還需要參考:Microsoft Scripting Runtime

Public Function strDisplayID() As String
    strDisplayID = Environ("USERNAME")
End Function

Private Sub CommandButton_Click()

    Dim fso As Object
    Dim fileLocation As String

    Set fso = CreateObject("Scripting.FileSystemObject")

    fileLocation = "C:\Users\" & strDisplayID & "\YourPath\YourFile".pdf"
    fso.MoveFile fileLocation

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM