使用Excel VBA上传文件到SharePoint

5

我正在尝试将我的C盘文件夹上传到SharePoint库站点。我已经使用了以下代码,当ToPath不是一个SharePoint库站点而是来自我的C驱动器的另一个文件夹时,它运行良好。我错在哪里呢?

Sub AddSharePointFiles()

Dim FSO As Object
Dim FromPath As String
Dim ToPath As String

ToPath = "https://share.name.com/site/folder/_layouts/15/start.aspx#/LibraryName/Forms/AllItems.aspx"
FromPath = "C:\Users\Name\Documents\FolderName"

Set FSO = CreateObject("scripting.filesystemobject")

FSO.CopyFile Source:=FromPath, Destination:=ToPath

End Sub

感谢您!
3个回答

11
我注意到SharePoint的URL以https开头。因此,你需要构建UNC路径为\\share.name.com@SSL\DavWWWRoot\site\library\
检查以下几点:
  • WebClient服务正在运行
  • Internet选项中信任SharePoint站点

2
这应该是被选中的答案。我们已经寻找了很长时间了。你太棒了。谢谢!!! - seadoggie01

2

尝试将Sharepoint路径指定为UNC,并使用CopyFolder方法:

Sub AddSharePointFiles()

    Dim FSO As Object
    Dim FromPath As String
    Dim ToPath As String

    ToPath = "\\share.name.com\site\folder"
    FromPath = "C:\Users\Name\Documents\FolderName"

    Set FSO = CreateObject("scripting.filesystemobject")
    FSO.CopyFolder Source:=FromPath, Destination:=ToPath

End Sub

没有运气 - 它仍然说它不存在。 - JBJB
你在“目标”中是否包含了带路径的文件名? - Olly
答案已编辑 - 意识到您想要复制文件夹,而不仅仅是一个文件 - 因此请尝试使用CopyFolder方法。 - Olly

0
我的解决方案是使用以下代码:
Folder = Environ("USERPROFILE")

这个命令给了我电脑的名称,然后我手动填写了剩下的部分。

Folder = Environ("USERPROFILE") & "\Business\Administration\Documents"

虽然它能工作,但我认为这不是一个优雅的解决方案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接