タスクの移動

Microsoft Projectでは、プロジェクト構成の変更を反映するために、タスクを階層内で移動できます。

  • タスクを新しい親の下に移動すると、その子タスクもすべて一緒に移動します。
  • Aspose.Tasks for .NETは、この動作をプログラムで再現するためのAPIsを提供します。

タスクを別の親の下に移動する

Aspose.Tasksでは、タスクを新しい親に再割り当てできます。これはプロジェクト階層を再編成する際に役立ちます。

複数のタスクを移動する際のパフォーマンスを向上させるには、プロジェクトの計算モードを CalculationMode.None そして Recalculate すべての移動が完了した後に一度だけ呼び出してください。

例:

1Project project = new Project("New Project.mpp");
2project.CalculationMode = CalculationMode.Automatic;
3// Get Tasks by Ids
4Task task1 = project.RootTask.Children.GetByUid(6);
5Task task2 = project.RootTask.Children.GetByUid(3);
6// Adding Task 6 to another parent
7task2.Children.Add(task1);
8project.Save("MoveTaskUnderAnotherParent_out.mpp", SaveFileFormat.MPP);

この例は、タスクを別の親タスクの下に移動する方法を示します。

同じ親の下にタスクを移動する

同じ親の下でタスクの順序を変更する必要がある場合は、 MoveToSibling メソッドを使用してください。

例:

1Project project = new Project("New Project.mpp");
2// Move tasks with id 5 before task with id 3
3Task task = project.RootTask.Children.GetById(5);
4task.MoveToSibling(3);
5project.Save("MoveTaskUnderSameParent_out.mpp", SaveFileFormat.MPP);

この例は、同じ親内でタスクを新しい位置に移動する方法を示します。

タスクを末尾に追加する

タスクを追加または移動する際、コレクションの末尾に追加するには -1 をターゲットインデックスとして指定します。

例:

1Project project = new Project("New Project.mpp");
2// Move tasks with id 2 to the end of the collection
3Task task = project.RootTask.Children.GetById(2);
4task.MoveToSibling(-1);
5project.Save("MoveTaskAtTheEnd_out.mpp", SaveFileFormat.MPP);

この例は、タスクを親のタスクリストの末尾に移動します。

重要な注意点

よくある質問

Q: タスクを別の親の下に移動した場合、その子タスクも移動しますか?

Q: 複数のタスクを効率的に移動するにはどうすればよいですか?

Q: 親を変更せずにタスクの順序を変更できますか?

Q: この機能はMPPおよびXMLプロジェクト形式の両方で動作しますか?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.