Crear recursos y enlaces en VSTO y Aspose.Tasks
Ejemplos de código
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 Componentes COM.
Seleccione la biblioteca de objetos Microsoft Project 12.0 y haga clic en Aceptar. Esto importa el espacio de nombres de Microsoft.Office.interop.MsProject al inicio del código. Use el código del siguiente ejemplo para leer tareas y recursos.
1// crear un objeto de aplicación
2
3Microsoft.Office.InTerop.MsProject.Application ProjectApplication = new MsProject.Application ();
4
5Objeto MissingValue = System.Reflection.Missing.Value;
6
7// Abrir un archivo MPP
8
9ProjectApplication.FileOpenex ("Project1.mpp",
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 (tarea TSK en 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.FileClOSELL (Microsoft.Office.InTerop.MsProject.PJSaveType.pjsave);
Este código C# utiliza la API Intopop de Microsoft Project para abrir un archivo de Proyecto Microsoft existente (Project1.MPP), agregar programáticamente recursos y asignar esos recursos a las tareas. Además, este ejemplo demuestra cómo generar y asignar dinámicamente recursos a las tareas en un archivo .mpp usando interop, simulando un escenario en el que cada tarea recibe un desarrollador dedicado. Este enfoque requiere que el proyecto de Microsoft se instale en el sistema.
Aspose.Tasks
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 .NET.
Seleccione Aspose.Tasks y luego haga clic en Aceptar. Esto importa el espacio de nombres Aspose.Tasks al inicio del código. Use el código del siguiente ejemplo para crear recursos y vincularlos a las tareas.
1Proyecto prj = nuevo proyecto ("Project.mpp");
2
3// Declarar objeto de clase ChildTaskScollector
4
5ChildTaskScollector Collector = new ChildTaskScollector ();
6
7// Use TaskUtils para obtener tareas de todos los niños en Roottask
8
9TaskUtils.apply (Prj.roottask, coleccionista, 0);
10
11// Definir recursos
12
13ArrayList Resources = new ArrayList ();
14
15para (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.calcresourceaseSignmentIds ();
48
49prj.save ("Project1_csharp_aspose.mpp", aspose.tasks.saving.saveFileFormat.mpp);
Este código C# demuestra cómo usar Aspose.Tasks para .NET para crear programáticamente recursos y asignarlos a tareas en un archivo Microsoft Project (.mpp
). Comienza cargando un proyecto existente y utilizando TaskUtil.s.Aply
para recopilar todas las tareas infantiles de la tarea raíz en un objeto ‘ChildTaskScollector’. Luego crea una lista de cinco recursos de trabajo, llamado “desarrollador01” a “desarrollador05”, y agrega cada uno al proyecto. Para cada recurso, crea una `` Resourceassignment ’’ correspondiente, vinculándola a una tarea específica de la lista recopilada. Después de que se agregan todas las tareas, se llaman varios métodos de cálculo para garantizar la consistencia interna de los ID de recursos y los UID dentro de la estructura del proyecto. Finalmente, el proyecto actualizado se guarda como un nuevo archivo ‘.mpp`.