繁体   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