Я создаю панель управления Excel, которую я хочу получить из моего отдела MSP Masterplan.
На данный момент мне удалось получить все необходимые данные, кроме даты состояния подпроектов.
Sub ImportMSPData()
Dim r As Range
Dim MSP As MSProject.Application
Dim proj As Project
Dim subproj As Subproject
Dim ligne As Long
Set MSP = CreateObject("MSProject.Application")
MSP.Visible = False
Application.ScreenUpdating = False
Application.EnableEvents = False
AppActivate MSP
If MSP.FileOpenEx(MasterplanPath, , , , , , , , , , , pjDoNotOpenPool) Then
Set proj = MSP.ActiveProject
Else
MsgBox "Fichier non trouvé : " & vbCrLf & Files.MspRoutine
Exit Sub
End If
ligne = 1
For Each subproj In proj.Subprojects
ThisWorkbook.Sheets("test").Cells(ligne, 1).Value = subproj.Path
ThisWorkbook.Sheets("test").Cells(ligne, 2).Value = Left(subproj.InsertedProjectSummary.Name, 15)
ThisWorkbook.Sheets("test").Cells(ligne, 3).Value = Mid(subproj.InsertedProjectSummary.Name, 19)
ThisWorkbook.Sheets("test").Cells(ligne, 5).Value = subproj.InsertedProjectSummary.Start
ThisWorkbook.Sheets("test").Cells(ligne, 6).Value = subproj.InsertedProjectSummary.Finish
ligne = ligne + 1
Next
End Sub
Я могу получить Statusdate, просматривая все суперброекты, открывая их, считывая данные и закрывая после этого, но это занимает вечность в зависимости от количества подпроектов. Есть ли способ, которым я могу получить эту информацию в цикле здесь выше, не открывая подпроекты?