Crear recursos y vincular con tareas

Mientras trabaja con archivos MPP, es posible que deba crear recursos y vincularlos a tareas de su proyecto. Este artículo ofrece una idea sobre cómo cargar archivos MPP en sus aplicaciones .NET y crear recursos y enlaces a tareas de sus proyectos utilizando VSTO y Aspose.Tasks para .NET.

Crear recursos y vincularlos a tareas usando vsto

Se requieren los siguientes pasos para lograr esta tarea:

  1. Crea un nuevo proyecto en Visual Studio.

  2. En el explorador de soluciones, haga clic con el botón derecho y seleccione Agregar referencia, luego seleccione la pestaña Com componentes.

  3. Seleccione la biblioteca de objetos del Proyecto 12.0 de Microsoft y haga clic en Aceptar.

    This imports the Microsoft.Office.Interop.MSProject namespace at the start of the code.

  4. Use el código del siguiente ejemplo para leer tareas y recursos.

El archivo de proyecto de muestra utilizado en los siguientes fragmentos de código, sampleproject.mpp, se puede descargar de los archivos adjuntos de esta página. Antes de que los recursos se creen y vinculen a las tareas, el archivo Project1.MPP se ve a continuación.

Archivo de entrada: Vista del gráfico Gantt

Mostrar la vista de la tabla Gantt de entrada

Archivo de entrada: Vista de hoja de recursos

Mostrar la vista de la hoja de recursos de entrada

Después del procesamiento, se actualiza el archivo.

Archivo de salida: Vista del gráfico Gantt

Mostrar la vista Gantt Grabado de salida

Archivo de salida: Vista de hoja de recursos

 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.