Чтение задач и ресурсов в VSTO и Aspose.tasks
Примеры кода
vsto
Для выполнения этой задачи необходимы следующие шаги:
Создайте новый проект в Visual Studio.
В Explorer Solution щелкните правой кнопкой мыши и выберите «Добавить ссылку», затем выберите вкладку COM Components.
Выберите Microsoft Project 12.0 Библиотеку объектов и нажмите OK.
Это импортирует пространство имен microsoft.office.interop.msproject в начале кода. Используйте код из следующего примера для чтения задач и ресурсов.
1// Создать объект приложения
2
3Application ProjectApplication = новый msproject.application ();
4
5Object hispalue = System.Reflection.missing.value;
6
7// Откройте файл 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// Создать объект проекта, назначив Active Project
22
23Project Project = ProjectApplication.activeProject;
24
25// пройти через каждую задачу и прочитать информацию, связанную с задачами
26
27Foreach (задача задачи в project.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// Проверкайте каждый ресурс и прочитайте информацию, связанную с ресурсами
46
47Foreach (ресурс ресурсов в 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 ();
Этот пример демонстрирует, как использовать VSTO (инструменты Visual Studio для Office) с библиотекой Interop Project Microsoft для чтения задач и ресурсов из файла MPP. Он начинается с создания нового экземпляра «Приложение» и открытия файла проекта с использованием fileoPenex
. Доступ к активному проекту доступен через ActiveProject
, а затем две петли итерации через коллекции« Задачи »и« Ресурсы ». Для каждой задачи и ресурса он печатает такие детали, как идентификатор, имя, даты начала/отделки и тип ресурса. Этот подход требует ссылки на библиотеку объектов Microsoft Project 12.0 ** и использование microsoft.office.interop.msproject
пространство имен.
aspose.tasks
Для выполнения этой задачи необходимы следующие шаги:
Создайте новый проект в Visual Studio.
В Explorer Solution щелкните правой кнопкой мыши и выберите «Добавить ссылку», затем выберите вкладку .NET.
Выберите Aspose.tasks, а затем нажмите OK.
Это импортирует пространство имен Aspose.Tasks в начале кода. Используйте код из следующего примера для чтения задач и ресурсов.
1Projectreader reader = new Projectreader ();
2
3Project Project = reader.read ("project.mpp");
4
5ArrayList alltasks = new ArrayList (project.roottask.children);
6
7foreach (aspose.tasks.task Задача в 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// Проверкайте каждый ресурс и прочитайте информацию, связанную с ресурсами
26
27Foreach (ресурс ресурсов в 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}
В этом примере показано, как читать задачи и ресурсы из файла проекта Microsoft, используя Aspose.Tasks для .net. Во -первых, создается новый проект Visual Studio, и ссылка на * Aspose.Tasks * добавляется через вкладку .NET. `Projectreader ‘используется для загрузки файла MPP, и все задачи дочерних задач иерны итерации для отображения своих данных, таких как идентификатор, имя, запуск и даты завершения. Затем код переходит через ресурсы проекта, определяет их тип (работа, материал или стоимость) и выводит соответствующую информацию. Это демонстрирует простой способ доступа и осмотреть данные проекта, используя API Aspose.tasks.