Lectura de tareas y recursos 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 objeto de aplicación
2
3Aplicación 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
21// Crear un objeto de proyecto asignando un proyecto activo
22
23Proyecto Project = ProjectApplication.activeProject;
24
25// recorrer cada tarea y leer información relacionada con las tareas
26
27foreach (tarea tarea en proyect.Tasks)
28
29{
30
31 Console.WriteLine("Reading Task " + task.Name);
32
33 Console.WriteLine("\nID: " + task.ID);
34
35 Console.WriteLine("Start: " + task.Start);
36
37 Console.WriteLine("Finish: " + task.Finish);
38
39 Console.WriteLine("\n===========================\n");
40
41 //Read any other information you need
42
43}
44
45// recorrer cada recurso y leer información relacionada con los recursos
46
47foreach (recurso de recursos en Project.Resources)
48
49{
50
51 string resourceType = null;
52
53 switch (resource.Type)
54
55 {
56
57 case PjResourceTypes.pjResourceTypeCost:
58
59 resourceType = "Cost";
60
61 break;
62
63 case PjResourceTypes.pjResourceTypeMaterial:
64
65 resourceType = "Material";
66
67 break;
68
69 case PjResourceTypes.pjResourceTypeWork:
70
71 resourceType = "Work";
72
73 break;
74
75 }
76
77 Console.WriteLine("Reading Resource " + resource.Name);
78
79 Console.WriteLine("\nID: " + resource.ID);
80
81 Console.WriteLine("Type: " + resourceType);
82
83 Console.WriteLine("\n===========================\n");
84
85 //Read any other information you need
86
87}
88
89Console.readline ();
Este ejemplo demuestra cómo usar VSTO (Visual Studio Tools for Office) con la Biblioteca Interopuladora de Proyectos de Microsoft para leer tareas y recursos de un archivo MPP. Comienza creando una nueva instancia de aplicación
y abriendo un archivo de proyecto usando FileOpenex
. Se accede al proyecto activo a través de ActiveProject
, y luego dos bucles iteran a través de las colecciones ‘Tareas’ y ‘Recursos’. Para cada tarea y recurso, imprime detalles como ID, nombre, fechas de inicio/finalización y tipo de recurso. Este enfoque requiere hacer una referencia a la biblioteca de objetos Microsoft Project 12.0 y usar el espacio de nombres Microsoft.Office.interop.MsProject
.
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 comienzo del código. Use el código del siguiente ejemplo para leer tareas y recursos.
1Projectreader lector = new Projectreader ();
2
3Proyecto Project = Reader.read ("Project.mpp");
4
5ArrayList AllTasks = new ArrayList (Project.roottask.children);
6
7Foreach (Aspose.tasks.Task Tarea en AllTasks)
8
9{
10
11 Console.WriteLine("Reading Task " + task.Name);
12
13 Console.WriteLine("\nID: " + task.Id);
14
15 Console.WriteLine("Start: " + task.Start);
16
17 Console.WriteLine("Finish: " + task.Finish);
18
19 Console.WriteLine("\n===========================\n");
20
21}
22
23
24
25// recorrer cada recurso y leer información relacionada con los recursos
26
27foreach (recurso de recursos en Project.Resources)
28
29{
30
31 string resourceType = null;
32
33 switch (resource.Type)
34
35 {
36
37 case ResourceType.Material:
38
39 resourceType = "Material";
40
41 break;
42
43 case ResourceType.Work:
44
45 resourceType = "Work";
46
47 break;
48
49 default:
50
51 resourceType = "Cost";
52
53 break;
54
55 }
56
57
58
59 Console.WriteLine("Reading Resource " + resource.Name);
60
61 Console.WriteLine("\nID: " + resource.Id);
62
63 Console.WriteLine("Type: " + resourceType);
64
65 Console.WriteLine("\n===========================\n");
66
67}
Este ejemplo muestra cómo leer tareas y recursos de un archivo de proyecto de Microsoft usando Aspose.Tasks para .NET. Primero, se crea un nuevo proyecto de Visual Studio y se agrega una referencia a * Aspose.Tasks * a través de la pestaña .NET. El Projecterader
se usa para cargar el archivo MPP, y todas las tareas infantiles de la tarea raíz se iteran para mostrar sus detalles como ID, nombre, inicio y fechas de finalización. Luego, el código buce a través de los recursos del proyecto, identifica su tipo (trabajo, material o costo) y genera información relevante. Esto demuestra una forma simple de acceder e inspeccionar los datos del proyecto utilizando la API Aspose.Tasks.