Créer des ressources et lier avec les tâches
En travaillant avec des fichiers MPP, vous devrez peut-être créer des ressources et les lier à des tâches de votre projet. Cet article donne une idée de la façon de charger des fichiers MPP dans vos applications .NET et de créer des ressources et de lier des tâches à partir de vos projets en utilisant VSTO et Aspose.Tasks pour .NET.
Créez des ressources et liez-les aux tâches à l’aide de VSTO
Les étapes suivantes sont nécessaires pour accomplir cette tâche:
Créez un nouveau projet dans Visual Studio.
Dans l’explorateur de solution, cliquez avec le bouton droit et sélectionnez Ajouter une référence, puis sélectionnez l’onglet COM COMPONNANTS.
Sélectionnez Microsoft Project 12.0 Bibliothèque d’objets et cliquez sur OK.
This imports the Microsoft.Office.Interop.MSProject namespace at the start of the code.
Utilisez le code à partir de l’exemple suivant pour lire les tâches et les ressources.
L’exemple de fichier de projet utilisé dans les extraits de code suivants, SampleProject.MPP, peut être téléchargé à partir des pièces jointes de cette page. Avant que les ressources ne soient créées et liées aux tâches, le fichier project1.mppp semble ci-dessous.
Fichier d’entrée: vue du graphique Gantt
Fichier d’entrée: vue de la feuille de ressources
Après le traitement, le fichier est mis à jour.
Fichier de sortie: vue du graphique Gantt
Fichier de sortie: vue de la feuille de ressources
1Microsoft.Office.Interop.MSProject.Application projectApplication = new Application();
2
3object missingValue = System.Reflection.Missing.Value;
4
5projectApplication.FileOpenEx(@"SampleProject.mpp",
6
7 missingValue, missingValue, missingValue, missingValue,
8
9 missingValue, missingValue, missingValue, missingValue,
10
11 missingValue, missingValue, PjPoolOpen.pjPoolReadOnly,
12
13 missingValue, missingValue, missingValue, missingValue,
14
15 missingValue);
16
17Microsoft.Office.Interop.MSProject.Project project = projectApplication.ActiveProject;
18
19int iResourceId = 1;
20
21foreach (Task tsk in project.Tasks)
22
23{
24
25 string developer = "Developer0" + iResourceId;
26
27 project.Resources.Add(developer, iResourceId);
28
29 tsk.Assignments.Add(tsk.ID, iResourceId, missingValue);
30
31 iResourceId++;
32
33}
34
35projectApplication.FileCloseAll(Microsoft.Office.Interop.MSProject.PjSaveType.pjSave);
Create Resources and Link to Tasks using Aspose.Tasks for .NET
The following steps are required to accomplish this task:
Create a new project in Visual Studio.
In the Solution Explorer, right-click and select Add Reference, then select the .NET tab.
Select Aspose.Tasks and then click OK.
This imports the Aspose.Tasks namespace at the start of the code.
Use the code from the following example to create resources and link them to tasks.
1Project project = new Project("New Project.mpp");
2
3// Declare ChildTasksCollector class object
4ChildTasksCollector collector = new ChildTasksCollector();
5
6// Use TaskUtils to get all children tasks in RootTask
7TaskUtils.Apply(project.RootTask, collector, 0);
8
9// Define Resources
10for (int i = 0; i <= 4; i++)
11{
12 // Add resource to project
13 Resource newResource = project.Resources.Add("Developer0" + i);
14 newResource.Set(Rsc.Type, ResourceType.Work);
15
16 // Define assignment
17 ResourceAssignment newResourceAssignment = project.ResourceAssignments.Add((Task)collector.Tasks[i], newResource);
18}
19
20project.Save("CreateResourcesAndLinkToTasks_out.mpp", SaveFileFormat.MPP);