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:

  1. Créez un nouveau projet dans Visual Studio.

  2. 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.

  3. 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.

  4. 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

Afficher la vue du graphique Gantt d’entrée

Fichier d’entrée: vue de la feuille de ressources

Afficher la vue de la feuille de ressources d’entrée

Après le traitement, le fichier est mis à jour.

Fichier de sortie: vue du graphique Gantt

Afficher la vue du graphique Gantt de sortie

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);

The following steps are required to accomplish this task:

  1. Create a new project in Visual Studio.

  2. In the Solution Explorer, right-click and select Add Reference, then select the .NET tab.

  3. Select Aspose.Tasks and then click OK.

    This imports the Aspose.Tasks namespace at the start of the code.

  4. 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);
Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.