gpt4 book ai didi

vba - 是否有 VBA 代码可以查看 Enterprise Project 2013 文件在打开前是否已 checkout ?

转载 作者:行者123 更新时间:2023-12-04 12:52:30 26 4
gpt4 key购买 nike

试图帮助我们的 Project 2013 用户使用一些 VBA 代码,但我们似乎无法找到答案,以查找是否使用 VBA 在我们的 PWA 服务器上 check out Project 2013 文件。他们基本上将一个项目列表设置为单个项目文件中的任务,VBA 代码循环遍历任务列表以运行 FileOpenEx,进行一些更改,然后将其关闭。但是,在对列表中的每个项目运行 FileOpenEx 之前,需要能够检查项目文件是否已 checkout 。这是我要做的一个示例,它并没有完全达到我想要的效果。

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 代码确定企业项目是否已 checkout 的其他解决方法,请告诉我。谢谢!

最佳答案

我们创建了一个适用于计划人员的解决方法,但我们必须以任何一种方式打开文件。这将做的是在只读模式下打开文件,然后尝试在没有警报的情况下检查它。之后,如果我 check out 它(这意味着没有其他人 check out 它),它将设置 j=0 并保存,然后继续下一个项目。如果其他人已将其 check out ,则它会转到“errorhandler”,它会告诉项目在不保存的情况下关闭,并将文件名保存在字符串中以便稍后返回。

SelectBeginning
While ActiveCell.CellColor <> pjBlack
fname = "<>\" & ActiveCell.Task.Name
justname = ActiveCell.Task.Name
FileOpenEx Name:=fname, ReadOnly=true
Set ProjToOpen = Application.Projects.Application.ActiveProject
j = 1
Application.DisplayAlerts = False
ProjToOpen.Checkout Project
Application.DisplayAlerts = True

If Not Application.IsCheckedOut(ProjToOpen.Name) Then
GoTo errorhandler
End If

'Perform actions here

j = 0
FileCloseEx Save:=pjSave, CheckIn:=True
FileSave
errorhandler:
If Not j = 0 Then
ReDim Preserve skippedfiles(0 to skipped) As String
skippedfiles(skipped) = justname
skipped = skipped + 1
ProjToOpen.Application.FileCloseEx Save:=pjDoNotSave
GoTo GoToNextProj
End If

GoToNextProj:
SelectCell Row:=1

Wend
msgstring = Join(skippedfiles(), vbCr)

MsgBox "Here are the files that were already checked out and therefore not changed: " & vbCr & msgstring

关于vba - 是否有 VBA 代码可以查看 Enterprise Project 2013 文件在打开前是否已 checkout ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38877773/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com