Créer des ressources et lier dans VSTO et Aspose.Tasks

Exemples de code

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 la bibliothèque d’objets Microsoft Project 12.0 et cliquez sur OK. Cela importe l’espace de noms Microsoft.office.interop.msproject au début du code. Utilisez le code à partir de l’exemple suivant pour lire les tâches et les ressources.

 1// Créer un objet d'application
 2
 3Microsoft.office.interop.msproject.application projectApplication = new MSProject.Application ();
 4
 5objet manquantValue = System.Reflection.Missing.Value;
 6
 7// Ouvrez un fichier MPP
 8
 9projectApplication.FileOPenex ("project1.mppp",
10
11    missingValue, missingValue, missingValue, missingValue,
12
13    missingValue, missingValue, missingValue, missingValue,
14
15    missingValue, missingValue, PjPoolOpen.pjPoolReadOnly,
16
17    missingValue, missingValue, missingValue, missingValue,
18
19    missingValue);
20
21Microsoft.office.interop.msproject.project project = projectApplication.activeProject;
22
23int iresourceid = 1;
24
25foreach (tâche TSK dans Project.Tasks)
26
27{
28
29    string developer = "Developer0" + iResourceId;
30
31    project.Resources.Add(developer, iResourceId);
32
33    tsk.Assignments.Add(tsk.ID, iResourceId, missingValue);
34
35    iResourceId++;
36
37}
38
39projectApplication.FileCloseAll (Microsoft.office.interop.msproject.pjsavetype.pjsave);

Ce code C # utilise l’API Interop Microsoft Project pour ouvrir un fichier de projet Microsoft existant (Project1.MPP), ajouter des ressources par programme et attribuer ces ressources aux tâches. Cet exemple montre également comment générer dynamiquement et attribuer des ressources aux tâches dans un fichier .mppp à l’aide d’interop, simulant un scénario où chaque tâche reçoit un développeur dédié. Cette approche nécessite que le projet Microsoft soit installé sur le système.

Aspose.Tasks

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

  3. Sélectionnez Aspose.Tasks, puis cliquez sur OK. Cela importe l’espace de noms Aspose.Tasks au début du code. Utilisez le code à partir de l’exemple suivant pour créer des ressources et les lier aux tâches.

 1Project PRJ = nouveau projet ("project.mp");
 2
 3// Déclarer l'objet de classe ChildTasksCollector
 4
 5ChildTasksCollector Collector = new ChildTasksCollector ();
 6
 7// Utilisez des taskutils pour obtenir toutes les tâches des enfants à Roottask
 8
 9TaskUtils.Apply (prj.roottask, collectionneur, 0);
10
11// Définir les ressources
12
13ArrayList Resources = new ArrayList ();
14
15pour (int i = 1; i <= 5; i ++)
16
17{
18
19    string developer = "Developer0" + i;
20
21    // Create resource
22
23    Resource rec = new Resource(developer);
24
25    rec.Type = ResourceType.Work;
26
27    // Add resource to project
28
29    prj.Resources.Add(rec);
30
31    // define assignment
32
33    ResourceAssignment assignment = new ResourceAssignment((Aspose.Tasks.Task)collector.Tasks[i], rec);
34
35    prj.ResourceAssignments.Add(assignment);
36
37}
38
39prj.calCresourceUids ();
40
41prj.calCresourceids ();
42
43prj.calCresourcefields ();
44
45Prj.CalCresourCeasSignmentUids ();
46
47Prj.CalCresourCeasSignmentid ();
48
49prj.save ("project1_csharp_aspose.mp", Aspose.Tasks.saving.savefileformat.mppp);

Ce code C # montre comment utiliser Aspose.Tasks pour .NET pour créer par programme des ressources et les affecter aux tâches dans un fichier Microsoft Project (.MPP). Il commence par charger un projet existant et utiliser Taskutils.Apply pour collecter toutes les tâches enfants de la tâche racine dans un objetChildTasksCollector '. Il crée ensuite une liste de cinq ressources de travail, nommées "Developer01" via "Developer05", et ajoute chacune au projet. Pour chaque ressource, il crée un `` ResourceSignment 'ResourceSignment' correspondant, le reliant à une tâche spécifique à partir de la liste collectée. Une fois que toutes les affectations sont ajoutées, plusieurs méthodes de calcul sont appelées pour garantir la cohérence interne des ID de ressources et des UID dans la structure du projet. Enfin, le projet mis à jour est enregistré en tant que nouveau fichier.MPP`.

Télécharger un exemple de code

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.