タスクの移動
Contents
[
Hide
Show
]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);
この例は、タスクを親のタスクリストの末尾に移動します。
重要な注意点
- 階層の再編成 はプロジェクトの更新や再編成の際に一般的です。
- パフォーマンスの最適化 は複数のタスクを移動する場合に推奨されます — すべての変更が適用されるまで自動再計算を無効にしてください。
- 子タスクは常に一緒に移動されます 親タスクとともに再割り当てされる際に。
- は、両方の MPP and XML formats。
よくある質問
Q: タスクを別の親の下に移動した場合、その子タスクも移動しますか?
- はい。子タスクはすべて親タスクと自動的に一緒に移動します。
Q: 複数のタスクを効率的に移動するにはどうすればよいですか?
- 移動する前に
CalculationMode.None
を使用し、Recalculate()
移動操作がすべて完了した後に一度だけ呼び出してください。
Q: 親を変更せずにタスクの順序を変更できますか?
- はい。次の
MoveToSibling
メソッドを使用して、同じ親の下でタスクの位置を変更してください。
Q: この機能はMPPおよびXMLプロジェクト形式の両方で動作しますか?
- はい。タスク階層操作は、Aspose.Tasksが扱うすべての形式で一貫してサポートされています。