タスクとカレンダー

Microsoft Projectでは、個々のタスクに特定のカレンダーを関連付けることができます。Aspose.Tasks for .NETは、 Tsk.Calendar プロパティで、タスクを特定のカレンダーにリンクします。

カレンダー付きのタスク

この Tsk クラスは、 Calendar フィールドは、タスクに関連付けられたカレンダーの設定や取得に使用されます。このプロパティは Aspose.Tasks.Calendar オブジェクトを受け取り、または返します。

Microsoft Projectでタスクのカレンダーを作成するには:

  1. プロジェクトファイルを開きます。
  2. Project メニューで、 Change Working TimesCreate New Calendarを選択します。
  3. カレンダーを割り当てるには、 Task Entry フォームでタスクをダブルクリックし、タスクのプロパティでカレンダーを選択します。

例: タスクカレンダーの設定

次のコードは、カレンダーを作成し、タスクを追加し、そのタスクにカレンダーを割り当てる方法を示します:

1Project project = new Project();
2
3// Add task
4Task task = project.RootTask.Children.Add("Task1");
5
6// Create calendar and assign to task
7Calendar cal = project.Calendars.Add("TaskCal1");
8task.Set(Tsk.Calendar, cal);

例: タスクカレンダーの読み取り

プロジェクト内のタスクを走査して、それらに関連付けられたカレンダーを読み取ることもできます:

 1Project project = new Project("New Project.mpp");
 2
 3// Declare ChildTasksCollector class object
 4ChildTasksCollector collector = new ChildTasksCollector();
 5
 6// Use TaskUtils to get all children tasks in RootTask
 7TaskUtils.Apply(project.RootTask, collector, 0);
 8
 9// Parse all the recursive children
10foreach (Task task in collector.Tasks)
11{
12    Calendar cal = task.Get(Tsk.Calendar);
13    Console.WriteLine("Task calendar name: {0}", cal == null ? "None" : cal.Name);
14}

主な注意点

よくある質問

問: タスクは複数のカレンダーを持つことができますか?

問: タスクカレンダーがプロジェクトカレンダーと競合する場合はどうなりますか?

問: タスクからカレンダーを削除するにはどうすればよいですか?

問: タスクカレンダーを割り当てる際にリソースカレンダーは考慮されますか?

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.