Створіть ресурси та зв’язок у VSTO та Aspose.Tasks

Приклади коду

vsto

Для виконання цього завдання необхідні наступні кроки:

  1. Створіть новий проект у Visual Studio.

  2. У Провіднику рішення клацніть правою кнопкою миші та виберіть Додати посилання, а потім виберіть вкладку COM Components.

  3. Виберіть Microsoft Project 12.0 Бібліотека об’єктів та натисніть кнопку ОК. Це імпортує простір імен Microsoft.office.interop.msproject на початку коду. Використовуйте код із наступного прикладу для читання завдань та ресурсів.

 1//Create an Application object
 2
 3Microsoft.Office.Interop.MSProject.Application projectApplication = new MSProject.Application();
 4
 5object missingValue = System.Reflection.Missing.Value;
 6
 7//Open an MPP file
 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 (Task tsk in 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 Microsoft для відкриття існуючого файлу Microsoft Project (Project1.mpp), програмно додавання ресурсів та призначення цих ресурсів завданням. Також цей приклад демонструє, як динамічно генерувати та присвоювати ресурси завданням у файлі .mpp за допомогою Interop, імітуючи сценарій, коли кожне завдання отримує відданий розробник. Цей підхід вимагає встановлення проекту Microsoft в системі.

Aspose.Tasks

Для виконання цього завдання необхідні наступні кроки:

  1. Створіть новий проект у Visual Studio.

  2. У Провіднику рішення клацніть правою кнопкою миші та виберіть Додати посилання, а потім виберіть вкладку .NET.

  3. Виберіть aspope.tasks, а потім натисніть кнопку ОК. Це імпортує простір імен aspopy.tasks на початку коду. Використовуйте код із наступного прикладу, щоб створити ресурси та зв’язати їх із завданнями.

 1Project prj = new Project("Project.mpp");
 2
 3// Declare ChildTasksCollector class object
 4
 5ChildTasksCollector collector = new ChildTasksCollector();
 6
 7// Use TaskUtils to get all children tasks in RootTask
 8
 9TaskUtils.Apply(prj.RootTask, collector, 0);
10
11// Define Resources
12
13ArrayList resources = new ArrayList();
14
15for (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.CalcResourceAssignmentIds();
48
49prj.Save("Project1_CSharp_Aspose.mpp", Aspose.Tasks.Saving.SaveFileFormat.MPP);

Цей код C# демонструє, як використовувати Aspose.Tasks для .net для програмного створення ресурсів та призначення їх завдань у файлі Microsoft Project (.mpp). Він починається з завантаження існуючого проекту та використання taskutils.apply 'для збору всіх дитячих завдань з кореневого завдання в об'єкт ”childTaskScollector’. Потім він створює список з п’яти робочих ресурсів, названий “Розробник01” через “Розробник05”, і додає кожного до проекту. Для кожного ресурсу він створює відповідне ResourceasSignment, пов’язуючи його з певним завданням зі зібраного списку. Після додавання всіх завдань викликаються кілька методів розрахунку для забезпечення внутрішньої узгодженості ідентифікаторів ресурсів та UID в структурі проекту. Нарешті, оновлений проект зберігається як новий файл .mpp.

Завантажити зразок коду

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.