首页 > 解决方案 > Sharepoint 和 Excel VBA 集成失败

问题描述

尝试通过 Excel 中的 VBA 从 SharePoint 检索文件属性时遇到问题。(我不能发布工作簿,但下面的代码就足够了)。

有问题的代码:

Private Sub CheckCheckOutStatus()

    Debug.Print Application.Workbooks.CanCheckOut("http://sp.mySharepointDomain.co.uk/myFolderPath/myFile.xlsb")

End Sub

问题是,在我的客户端 PC 上,无论文件是否已签出,此语句始终返回 false(他们能够手动签出文件,因此这不是文件权限问题)。

经过进一步调查,似乎我的特定计算机能够从该代码中获得正确的值,而其他计算机都不能。还值得一提的是,我的客户端和我测试过的所有 PC/用户都在同一个共享网络上,所以我们都应该安装相同的包。

通过排除的过程,我们推断它与我的特定计算机(无论谁登录它,它是PC本身)有关,它能够正确使用此方法。

我的问题是对所有的专家:

是否有任何客户端或本地包/安装/权限可以启用或禁用对 SharePoint 中属性的编程访问?

感谢您抽出宝贵时间阅读本文,并提前感谢您提出的任何建议!

标签: excelvbasharepointsharepoint-2013excel-2013

解决方案


我无法对此进行测试,因为我没有安装 SharePoint,但这看起来是正确的......

Sub test()
Dim docCheckOut As String
docCheckOut = "Filepath&name"
Call UseCheckOut(docCheckOut)
End Sub

Sub UseCheckOut(docCheckOut As String)

    ' Determine if workbook can be checked out.
    If Workbooks.CanCheckOut(docCheckOut) = True Then
        Workbooks.CheckOut docCheckOut
    Else
        MsgBox "Unable to check out this document at this time."
    End If

End Sub

推荐阅读