Tasks and Calendars
Contents
[
Hide
Show
]It is possible to associate calendars with particular tasks in Microsoft Project. Aspose.Task supports this functionality.
Tasks with Calendars
The Tsk class exposes the Calendar field used to set or get the calendar associated with a task. This property accepts or returns an Aspose.Tasks.Calendar object.
To create a calendar for a task in Microsoft Project:
- Open a project in Microsoft Project.
- On the Project menu, select Change Working Times, then Create New Calendar.
- To assign the calendar to a task, double-click the task in the Task Entry form.
- Select the Advanced tab.
Setting Task Calendar
Create a standard calendar and create a task. Assign the Calendar to the task.
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);
Getting Task Calendar
Get task calendar by traversing the tasks in a project.
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}