我正在尝试为我们的Project 2013用户编写一些VBA代码,但我们遇到了一个问题,即无法通过VBA查找PWA服务器上的Project 2013文件是否被签出。他们基本上将一些项目设置为单个项目文件中的任务列表,而VBA代码循环遍历任务列表以运行FileOpenEx,进行一些更改,然后关闭它。但是,在运行列表中的每个项目之前,需要能够检查Project文件是否已经被签出。以下是我想要达到的样例,但不完全符合我的要求。
SelectBeginning
While ActiveCell.CellColor <> pjBlack
fname = "<>\" & ActiveCell.Task.Name
justname = ActiveCell.Task.Name
On Error Resume Next
If Application.Projects.CanCheckOut(fname) Then '<--This does not work correctly, not checking Enterprise Projects?
FileOpenEx Name:=fname, ReadOnly=false
'Do Some stuff
FileCloseEx Save:=pjSave, CheckIn:=True
FileSave
Else
MsgBox (justname & " can not be checked out")
End If
SelectCell Row:=1
Wend
如果有更好的解决方案,可以轻松检查此问题或其他解决方法来确定企业项目是否通过VBA代码签出,请告知我。谢谢!