更新された Task データを MPP に書き込む方法
Contents
[
Hide
Show
]Aspose.Tasks for .NET により、開発者は Task の情報を更新する (例:締め切り、メモ、ID、構成など)を変更し、これらの変更を Microsoft Project ファイルに MPP または XML 形式です。これにより、Microsoft Project を手動で編集することなく、プログラムで既存のプロジェクトを変更できます。
Aspose.Tasks での Task データの更新
プロジェクトのスケジュールを扱う際には、計画後に Task を更新することがよくあります。たとえば、締め切りの調整、Task のメモの変更、または新しい項目の追加などです。Aspose.Tasks はこの処理のための簡単なワークフローを提供します:
- のインスタンスを作成します Project class.
- ソース MPP ファイルを読み込みます。
- にアクセスして Task object のプロパティを変更します。
- 次のようなパラメータを更新します: Deadline、 NotesText、 Start/Finish dates、または ID。
- 必要に応じて、ルートタスクやサブタスクに新しいタスクを追加できます。
- 更新したプロジェクトを MPP/XML。
例:Task データの更新と MPP への保存
以下の例では、タスクの締め切りを更新し、メモを追加し、更新プロジェクトをディスクに書き戻す前にタスクの ID を確認する方法を示します:
1Project project = new Project("New Project.mpp");
2
3// Set project start date
4project.Set(Prj.StartDate, new DateTime(2012, 07, 29, 8, 0, 0));
5
6// Add summary task and set its properties
7Task summary = project.RootTask.Children.Add("Summary task");
8Task task = summary.Children.Add("First task");
9task.Set(Tsk.Duration, project.GetDuration(3));
10task.Set(Tsk.Deadline, task.Get(Tsk.Start).AddDays(10));
11task.Set(Tsk.NotesText, "The first task.");
12task.Set(Tsk.DurationFormat, TimeUnitType.MinuteEstimated);
13task.Set(Tsk.ConstraintType, ConstraintType.FinishNoLaterThan);
14task.Set(Tsk.ConstraintDate, task.Get(Tsk.Deadline).AddDays(-1));
15
16
17// Create 10 new sub tasks for summary task
18for (int i = 0; i < 10; i++)
19{
20 Task subTask = summary.Children.Add(string.Format("Task{0}", i + 2));
21 subTask.Set(Tsk.Duration, task.Get(Tsk.Duration).Add(project.GetDuration(i + 1)));
22 subTask.Set(Tsk.DurationFormat, TimeUnitType.Day);
23 subTask.Set(Tsk.Deadline, task.Get(Tsk.Deadline).AddDays(i + 1));
24}
25
26project.Save("UpdateTaskData_out.mpp", SaveFileFormat.MPP);
このスニペットは、開発者が プログラムで既存のタスクを変更する そして MPP ファイルに更新を保存します。外部システムと Microsoft Project のデータを同期する際に特に有用です。
主な注意点
- ほとんどのタスクのプロパティを、例えば以下の項目を含めて更新できます: Deadlines, Notes, Start/Finish dates, and custom fields。
- 保存前にタスクをプログラムで追加、変更、または削除できます。
- 更新したプロジェクトは次の形式で保存できます: MPP および XML 形式で保存でき、Microsoft Project をインストールしている必要はありません。
- タスク ID(Original ID、External ID)にはアクセスでき、 プロジェクト間参照。
- Aspose.Tasks はプロジェクトファイルに書き戻す際にデータの整合性を確保します。
よくある質問
Q: 既存のプロジェクトを更新している間に新しいタスクを追加できますか?
- はい。保存する前に、ルートタスクに新しいタスクを挿入するか、サブタスクとして追加できます。
Q: 更新データを書き込む際にカスタムフィールドは保持されますか?
- はい。Aspose.Tasks は更新された MPP/XML ファイルを保存する際にカスタムフィールドの値を保持します。
Q: 変更を保存するために Microsoft Project をインストールする必要がありますか?
- いいえ。Aspose.Tasks は独立して動作し、Microsoft Project は必要ありません。
Q: タスクデータと共にタスクのリソースも更新できますか?
- はい。タスクの詳細と割り当てられたリソースの両方をプログラムで変更できます。
Q: プロジェクト間のタスク参照をどのように追跡しますか?
- 次を使用してください: Original ID および External ID プロパティを使用して複数のプロジェクトにまたがるリンクされたタスクを特定します。