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:
Crea un nuevo proyecto en Visual Studio.
En el explorador de soluciones, haga clic con el botón derecho y seleccione Agregar referencia, luego seleccione la pestaña Com componentes.
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.
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
Archivo de entrada: Vista de hoja de recursos
Después del procesamiento, se actualiza el archivo.
Archivo de salida: Vista del gráfico Gantt
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);
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);