Próbując pomóc naszym użytkownikom z Projektu 2013 z pewnym kodem VBA, doszliśmy do punktu, w którym nie możemy znaleźć odpowiedzi na pytanie, czy plik Project 2013 został sprawdzony na naszym serwerze PWA za pomocą VBA. Zasadniczo mają one listę projektów ustawionych jako zadania w jednym pliku projektu, a kod VBA zawiera listę zadań do uruchomienia FileOpenEx, wprowadzenia pewnych zmian, a następnie zamknięcia. Jednak istnieje potrzeba sprawdzenia, czy plik projektu jest wypisany przed uruchomieniem FileOpenEx dla każdego projektu na liście. Oto próbka tego, co zamierzam zrobić, nie całkiem robi to, co chcę.Czy istnieje kod VBA, aby sprawdzić, czy plik Enterprise Project 2013 został wyewidencjonowany przed otwarciem?
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
Jeśli ktoś ma lepsze rozwiązanie, łatwy sposób na sprawdzenie tego, czy innego obejście dowiedzieć się, czy projekt Enterprise jest wyrejestrowany przez kod VBA, proszę dać mi znać. Dzięki!
to projekty, których szukasz, jeśli są sprawdzone w projekcie głównym? –
Nie, nie są one częścią głównego projektu. Obecnie niedozwolone są projekty główne. –
@ David. Myślę, że ten fragment z Microsoft może pomóc: https://msdn.microsoft.com/en-us/library/office/jj820423.aspx. Zasadniczo chcesz wybrać projekt z kolekcji Projekty i sprawdzić typ projektu, który to jest (przedsiębiorstwo kontra nie). Na poziomie projektu dostępne są niektóre metody sprawdzania i usuwania. –