繁体   English   中英

通过 VBA 将文档上传到 SharePoint

[英]Upload document to SharePoint via VBA

我有这个代码通过 VBA 将文档映射到驱动器来上传到 SharePoint。

我得到

“编译错误,未定义子函数或函数”。

然后它突出显示这一行的第二个引号:

objNet.MapNetworkDrive “A: ” , SharepointAddress

下面是整个子​​程序。

Sub UploadToSharepoint()

Dim SharepointAddress As String
Dim LocalAddress As String
Dim objNet As Object
Dim FS As Object
SharepointAddress = "http://share.deere.com/teams/sm_at_sd/suppcaptracking/Test"
LocalAddress = ”c: MyWorkFiletoCopy.xlsx”
Set objNet = CreateObject(“WScript.Network”)
Set FS = CreateObject(“Scripting.FileSystemObject”)
objNet.MapNetworkDrive “A: ” , SharepointAddress

If FS.FileExists(LocalAddress) Then
    FS.CopyFile LocalAddress, SharepointAddress
End If

objNet.RemoveNetworkDrive “A: ”
Set objNet = Nothing
Set FS = Nothing

End Sub

你的引号在相关区域看起来有点奇怪:

删除并将它们替换为您用于shapepointaddress =...变量的那些"

我希望:

SharepointAddress = "\\share.deere.com\teams\sm_at_sd\suppcaptracking\Test"

我也遇到过类似的挑战。 导出文件不起作用。 为了更正代码格式和间距中的错误,我创建了一个子程序来执行此操作。 它在我的机器上运行良好。

这个 sub 有四个参数:文件名、文件现在所在的路径、sharepoint 文件夹的路径,以及临时映射网络驱动器的可选参数(如果在机器上使用 A)。

Public Sub uploadFileToSP(filename As String, localPath As String, sharePath As String, Optional tempdrive As String = "A:")
    Dim ObjNet As Object, FS As Object
    Set ObjNet = CreateObject("WScript.Network")
    Set FS = CreateObject("Scripting.FileSystemObject")
    If FS.FileExists(localPath & Application.PathSeparator & filename) Then
        ObjNet.MapNetworkDrive tempdrive, sharePath

        FS.CopyFile localPath & Application.PathSeparator & filename, tempdrive & Application.PathSeparator & filename
        ObjNet.RemoveNetworkDrive tempdrive
        Set ObjNet = Nothing
    End If
End Sub

这是对子例程的示例调用

Call uploadFileToSP("myImage.JPG", "D://my/path", "https://my/sharepoint/path", "A:")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM