タスクの操作
Contents
[
Hide
Show
]スケジュールどおりにタスクを完了することができず、2つ以上の部分に分割する必要がある場合があります。 .NETのAspose.Tasksは、このMicrosoftプロジェクト機能をサポートしています。
タスクの分割
splitparts タスククラスによって公開されるプロパティは、タスクの分割部分を決定するために使用されますが、 splittask resourceassignmentクラスによって公開されるメソッドは、単一のタスクを複数の部分に分割するために使用されます。 SplitPartsはスプリットパーツのコレクションを返しますが、Splittaskメソッドは開始日、終了日、カレンダーの引数を受け入れてタスクを分割します。
Microsoftプロジェクトの分割と表示タスク
Microsoftプロジェクトでタスクを分割するには:
- 長いタスクを特定すると、分割します。
- タスクメニューで、スケジュールグループを選択し、[タスクを分割] **をクリックします。
- タスクを分割する位置をクリックします。
Microsoft Projectの分割タスクを確認するには、ViewメニューでGantt Chartを選択できます。 分割タスクは、点線の線でリンクされています。
タスクの作成と分割
タスクを作成して分割するには、次の手順に従います。
- 新しいプロジェクトを作成します。
- プロジェクトに新しいカレンダーを作成して割り当てます。
- プロジェクトに新しいタスクを作成して追加します。
- プロジェクトに新しいリソース割り当てを作成して追加します。
- ResourceAsSignmentクラスによって公開されたSplittaskメソッドを使用して、タスクを分割します。
- 新しいプロジェクトをディスクに書き込みます。
次のコードは、これらのタスクを達成する方法を示しています。
1// Create new project
2Project splitTaskProject = new Project();
3
4// Get a standard calendar
5Calendar calendar = splitTaskProject.Get(Prj.Calendar);
6
7// Set project's calendar settings
8splitTaskProject.Set(Prj.StartDate, new DateTime(2000, 3, 15, 8, 0, 0));
9splitTaskProject.Set(Prj.FinishDate, new DateTime(2000, 4, 21, 17, 0, 0));
10
11// Add a new task to root task
12Task rootTask = splitTaskProject.RootTask;
13rootTask.Set(Tsk.Name, "Root");
14Task taskToSplit = rootTask.Children.Add("Task1");
15taskToSplit.Set(Tsk.Duration, splitTaskProject.GetDuration(3));
16
17// Create a new resource assignment and generate timephased data
18ResourceAssignment splitResourceAssignment = splitTaskProject.ResourceAssignments.Add(taskToSplit, null);
19splitResourceAssignment.TimephasedDataFromTaskDuration(calendar);
20
21// Split the task into 3 parts.
22// Provide start date and finish date arguments to SplitTask method which will be used for split
23splitResourceAssignment.SplitTask(new DateTime(2000, 3, 16, 8, 0, 0), new DateTime(2000, 3, 16, 17, 0, 0), calendar);
24splitResourceAssignment.SplitTask(new DateTime(2000, 3, 18, 8, 0, 0), new DateTime(2000, 3, 18, 17, 0, 0), calendar);
25splitResourceAssignment.Set(Asn.WorkContour, WorkContourType.Contoured);
26
27splitTaskProject.Save("CreateSplitTasks_out.xml", SaveFileFormat.XML);
**Viewing Split Tasks with Aspose.Tasks **
The following example shows how to identify split tasks and printing their details to a console window.
1Project project = new Project("New Project.mpp");
2
3// Access task
4Task splitTask = project.RootTask.Children.GetById(4);
5
6// Display split parts of task
7SplitPartCollection collection = splitTask.SplitParts;
8foreach (SplitPart splitPart in collection)
9{
10 Console.WriteLine("Index: " + splitPart.Index + " Start: " + splitPart.Start + " Finish: " + splitPart.Finish);
11}