.CanCheckOut没有返回正确的值?

我正在尝试检查存储在SharePoint服务器上的文件是否可以检出,这样我就可以提醒用户,并在不检出文件的情况下停止编辑工作簿。 我已经尝试了下面的代码,但是当我尝试运行它时,它认为不可能签出并且不执行任何操作。 然而,当我检查SharePoint服务器,它说,它没有签出,可以检出。

Function CheckOutCheck2() As Boolean 'CheckOutCheck2 = True If Workbooks.CanCheckOut("FilePath") = True Then MsgBox "Please make sure the workbook is checkout before making any changes", vbInformation, "Check Out" CheckOutCheck2 = True Debug.Print ("Can Check Out") End If If Workbooks.CanCheckOut("Filepath") = False Then CheckOutCheck2 = False Debug.Print ("Cant Check Out") End If End Function 

当我点击我的button,我这样做:

 If CheckOutCheck2() = True Then Exit Sub Else CreateNew.Show End If 

我希望能够阻止用户做任何事情,直到文件被检出。

任何人有任何想法,为什么这可能会发生?