タスクに関連付けられた WBS の操作
WBS(作業分解構造)コードは、ビジネスの要件に応じてタスクにアウトライン番号を割り当てることを可能にします。プロジェクトを構造化・分析するためのカスタマイズされたアウトライン方式を提供します。Aspose.Tasks for .NET はプログラムで WBS 値を扱うことを完全にサポートします。
Aspose.Tasks for .NET における作業分解構造(WBS)の操作
Microsoft Project では、 作業分解構造(WBS) は、プロジェクト内のタスクの構造を定義する階層的なアウトラインです。プロジェクトマネージャーが成果物を整理、識別、追跡するのに役立ちます。Aspose.Tasks for .NET は WBS 値をプログラムで操作するための完全なサポートを提供します。次のプロパティを使用できます: Tsk class:
これらのプロパティにより開発者は、 タスク構造の読み取りと更新 を Microsoft Project ファイル(MPP/XML)を処理する際に行うことができます。
Microsoft Project での WBS の表示
Microsoft Project で WBS 情報を表示するには:
- 「Task Entry」フォームを開きます。 Task Entry フォーム。
- 「Insert」メニューで、 Insert メニューから「Column」を選択します。 Column。
- 「WBS」列を追加してタスクの WBS 値を表示します。 WBS 列を追加してタスクの WBS 値を表示します。
例:タスクの WBS を読み取る
次の例は、Aspose.Tasks を使用してタスクの WBS 値を取得する方法を示します:
1Project project = new Project("New Project.mpp");
2
3// Create a ChildTasksCollector instance
4ChildTasksCollector collector = new ChildTasksCollector();
5
6// Collect all the tasks from RootTask using TaskUtils
7TaskUtils.Apply(project.RootTask, collector, 0);
8
9// Parse through all the collected tasks
10foreach (Task task in collector.Tasks)
11{
12 Console.WriteLine(task.Get(Tsk.WBS));
13 Console.WriteLine(task.Get(Tsk.WBSLevel));
14
15 // Set custom WBS
16 task.Set(Tsk.WBS, "custom wbs" + task.Get(Tsk.WBS));
17}
例:WBS コード定義の追加
Aspose.Tasks for .NET では、カスタム WBS コード規則を次のクラスを使って定義できます。 WBSCodeDefinition
クラス。これにより Microsoft Project に似た構造化された WBS コードを生成できます。
1Project proj = new Project();
2
3proj.WBSCodeDefinition = new WBSCodeDefinition();
4proj.WBSCodeDefinition.GenerateWBSCode = true;
5proj.WBSCodeDefinition.VerifyUniqueness = true;
6proj.WBSCodeDefinition.CodePrefix = "CRS-";
7
8WBSCodeMask mask = new WBSCodeMask();
9mask.Length = 2;
10mask.Separator = "-";
11mask.Sequence = WBSSequence.OrderedNumbers;
12proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);
13
14mask = new WBSCodeMask();
15mask.Length = 1;
16mask.Separator = "-";
17mask.Sequence = WBSSequence.OrderedUppercaseLetters;
18proj.WBSCodeDefinition.CodeMaskCollection.Add(mask);
19
20Task task = proj.RootTask.Children.Add("Task 1");
21Task child = task.Children.Add("Task 2");
22
23proj.Recalculate();
24proj.Save("AddWBSCodes_out.xml", SaveFileFormat.XML);
例:WBS コードの再番号付け
Microsoft Project が提供するように、 Renumber 関数のように、Aspose.Tasks for .NET でも WBS コードをプログラムで再番号付けできます:
1Project project = new Project("New Project.mpp");
2
3Console.WriteLine("WBS codes before: ");
4
5// output: ""; "1"; "2"; "4"
6foreach (Task task in project.RootTask.SelectAllChildTasks())
7{
8 Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
9}
10
11project.RenumberWBSCode(new List<int> { 1, 2, 3 });
12// project.RenumberWBSCode(); // this overload can be used instead
13
14Console.WriteLine("WBS codes after: ");
15
16// output: ""; "1"; "2"; "3"
17foreach (Task task in project.RootTask.SelectAllChildTasks())
18{
19 Console.WriteLine("\"" + task.Get(Tsk.WBS) + "\"" + "; ");
20}
重要なポイント
- WBS コードはプロジェクトのタスクを階層的に表示します。
- Aspose.Tasks を使用して WBS コードを読み取り、割り当て、カスタマイズできます。
- その
WBSCodeDefinition
クラスは WBS の書式設定と構造を詳細に制御できます。 - WBS コードは一貫性を保つためにプログラムで再番号付けできます。
- 次の両方の形式でサポートされています: MPP および XML 形式。
よくある質問
Q: カスタムの WBS コードパターンを定義できますか?
- はい。
WBSCodeDefinition
クラスを使用してカスタム規則を作成します。
Q: WBS はタスクのアウトライン番号と何が違いますか?
- アウトライン番号はシステム生成されますが、WBS コードは業務ルールに合わせてカスタマイズできます。
Q: タスク作成後に WBS コードを変更できますか?
- はい。WBS 値はいつでも更新または再番号付けできます。
Q: 再番号付けは既存のカスタムコードを上書きしますか?
- はい。再番号付けは定義されたスキームに従って WBS コードを再生成します。