Создать ресурсы и ссылки в vsto и aspose.tasks
Примеры кода
vsto
Для выполнения этой задачи необходимы следующие шаги:
Создайте новый проект в Visual Studio.
В Explorer Solution щелкните правой кнопкой мыши и выберите «Добавить ссылку», затем выберите вкладку COM Components.
Выберите Microsoft Project 12.0 Библиотеку объектов и нажмите OK. Это импортирует пространство имен microsoft.office.interop.msproject в начале кода. Используйте код из следующего примера для чтения задач и ресурсов.
1// Создать объект приложения
2
3Microsoft.office.interop.msproject.application projectapplication = new 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
21Microsoft.office.interop.msproject.project Project = projectApplication.activeProject;
22
23int iresourceid = 1;
24
25Foreach (задание TSK в 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.filecloSeall (microsoft.office.interop.msproject.pjsavetype.pjsave);
Этот код C# использует API Interop Project Project Microsoft для открытия существующего файла Project Microsoft (Project1.mpp), программно добавлять ресурсы и назначить эти ресурсы для задач. Кроме того, этот пример демонстрирует, как динамически генерировать и назначать ресурсы задачам в файле .mpp с использованием Interop, моделируя сценарий, в котором каждая задача получает специализированного разработчика. Этот подход требует, чтобы Microsoft Project был установлен в системе.
aspose.tasks
Для выполнения этой задачи необходимы следующие шаги:
Создайте новый проект в Visual Studio.
В Explorer Solution щелкните правой кнопкой мыши и выберите «Добавить ссылку», затем выберите вкладку .NET.
Выберите Aspose.tasks, а затем нажмите OK. Это импортирует пространство имен Aspose.Tasks в начале кода. Используйте код из следующего примера для создания ресурсов и связывания их с задачами.
1Project PRJ = новый проект ("Project.mpp");
2
3// Объявление объекта класса ChildTaskScollector
4
5Holdtaskscollector collector = new Childtaskscollector ();
6
7// Использовать Taskutils, чтобы получить все дети в Rothask
8
9Taskutils.apply (prj.roottask, коллекционер, 0);
10
11// определить ресурсы
12
13ArrayList Resources = new ArrayList ();
14
15для (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.calcresourceaseNmentWiods ();
46
47prj.calcresourceaseSignmentIds ();
48
49prj.save ("project1_csharp_aspose.mpp", aspose.tasks.saving.savefileformat.mpp);
Этот код C# демонстрирует, как использовать Aspose.Tasks для .net для программного создания ресурсов и назначить их задачам в файле Microsoft Project (.mpp
). Он начинается с загрузки существующего проекта и использования taskutils.apply
для сбора всех дочерних задач из корневой задачи в объектhildtaskscollector '. Затем он создает список из пяти рабочих ресурсов, названных «Developer01» через «Developer05» и добавляет каждый в проект. Для каждого ресурса он создает соответствующее «ресурсное обеспечение», связывая его с конкретной задачей из собранного списка. После того, как все назначения добавлены, приводятся несколько методов расчета для обеспечения внутренней согласованности идентификаторов ресурсов и UID в рамках структуры проекта. Наконец, обновленный проект сохраняется как новый файл
.mpp`.