MS Project是一种广泛使用的项目管理软件,可帮助管理人员有效地管理其项目。它允许创建任务,添加资源,将任务分配给资源,监视进度以及管理与预算相关的操作。
- 使用C ++从头开始创建MS Project文件
- 使用C ++将任务添加到项目中
- 使用C ++向项目添加资源
- 使用C ++将项目的任务分配给资源
- 使用C ++在Project中添加日历
Aspose.Tasks for .NET已升级至V20.7,如果你还没有用过Aspose.Tasks可以点击这里下载最新版测试。
整合所有格式API处理控件Aspose永久授权正在 火热销售中,新购乐享85折起!联系客服立马1分钟了解全部咨询!
使用C ++创建MS Project文件(.mpp)
首先创建一个空项目。以下是使用Aspose.Tasks for C ++从头开始创建MS Project(.mpp)文件的步骤。
- 创建一个Project类的对象。
- 设置项目的属性。
- 使用Project-> Save(u“ project.mpp”,Aspose :: Tasks :: Saving :: SaveFileFormat :: MPP)方法将项目另存为.mpp文件。
下面的代码示例演示如何使用C ++ 创建MS Project的.mpp文件。
将MS项目文件另存为MPP
// Create projectSystem::SharedPtrproject = System::MakeObject();// Set project informationproject->Set(Prj::Author(), u"Author");project->Set(Prj::LastAuthor(), u"Last Author");project->Set(Prj::Revision(), 15);project->Set(Prj::Keywords(), u"MSP Aspose");project->Set(Prj::Comments(), u"Comments");// Save project as .mpp fileproject->Save(u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
使用C ++将任务添加到项目中
创建项目后,可以继续向其中添加任务。可以创建一个新项目,也可以加载现有的MS Project文件来添加任务。以下是创建任务或将子任务添加到项目中的步骤。
- 创建一个新项目,或使用Project类从.mpp文件加载它。
- 使用Project-> get_RootTask()-> get_Children()-> Add(u“ Summary1”)方法将任务添加到项目中,并将新创建的任务存储到Task对象中。
- (可选)使用Task-> get_Children()-> Add(u“ Subtask1”)方法将子任务添加到新创建的任务中。
- 使用Project-> Save(u“ project.mpp”,Aspose :: Tasks :: Saving :: SaveFileFormat :: MPP)方法将项目另存为.mpp文件。
下面的代码示例演示如何使用C ++创建任务并将任务添加到项目中。
// Create project instanceSystem::SharedPtr<Project> project = System::MakeObject<Project>(u"project.mpp");// Add task, sub task and save projectSystem::SharedPtr<Task> task = project->get_RootTask()->get_Children()->Add(u"Summary1");task->Set(Tsk::Start(), project->get_RootTask()->Get<System::DateTime>(Tsk::Start()).AddDays(1));task->Set<System::String>(Tsk::Name(), u"new name");System::SharedPtr<Task> subtask = task->get_Children()->Add(u"Subtask1");// Save projectproject->Save(dataDir + u"CreateTasks_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
使用C ++向项目添加资源
资源是应该完成项目的实体。通常,人们被称为项目的资源。以下是创建资源并将资源添加到项目的步骤。
- 创建一个新项目,或使用Project类从.mpp文件加载它。
- 使用Project-> get_Resources()-> Add(u“ Rsc”)方法添加新资源。
- 使用Project-> Save(u” project.mpp”,Aspose :: Tasks :: Saving :: SaveFileFormat :: MPP)方法保存项目。
下面的代码示例演示如何使用C ++在项目中添加资源。
// Create project instanceSystem::SharedPtrproject = System::MakeObject(); // Add resourcesSystem::SharedPtrrsc1 = project->get_Resources()->Add(u"Rsc"); // Set resource properties, Resource properties are represented by static class Rscrsc1->Set(Rsc::StandardRate(), static_cast(15));rsc1->Set(Rsc::OvertimeRate(), static_cast(20)); // Save project as XMLproject->Save(u"CreateResources_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
使用C ++将项目的任务分配给资源
创建任务和资源后,下一步就是将每个任务分配给负责完成任务的资源。以下是将任务分配给资源的步骤。
- 创建一个新项目,或使用Project类从.mpp文件加载它。
- 如果项目为空,请添加新的任务和资源。
- 将所需的任务和资源分别访问Task和Resource对象。
- 使用Project-> get_ResourceAssignments()-> Add(Task,Resource)方法将任务分配给资源。
- 使用Project.Save()方法保存项目。
下面的代码示例演示如何使用C ++将任务分配给项目中的资源。
// Create empty projectSystem::SharedPtrproject1 = System::MakeObject(); // Add new task and resourceSystem::SharedPtrtask1 = project1->get_RootTask()->get_Children()->Add(u"Task");System::SharedPtrrsc1 = project1->get_Resources()->Add(u"Rsc"); // Assign the resource desired taskSystem::SharedPtrassn = project1->get_ResourceAssignments()->Add(task1, rsc1);
使用C ++在Project中添加日历
日历用于为MS Project中的项目创建时间表。C ++的Aspose.Tasks使创建项目日历变得非常简单。以下是创建日历,添加工作日并指定工作时间的步骤。
- 创建一个新项目,或使用Project类从.mpp文件加载它。
- 使用Project-> get_Calendars()-> Add(u“ Calendar1”)将日历添加到项目中,并将返回值存储在Calendar对象中。
- 使用Calendar-> get_WeekDays()-> Add()方法将工作日添加到日历中。
- 保存项目。
还可以在日历中设置工作日的工作时间。为此,您可以在添加工作日后按照以下步骤操作。
- 创建WeekDay类的对象。
- 创建一个WorkingTime类的对象。
- 使用WorkingTime-> set_FromTime()和WorkingTime-> set_ToTime()方法设置时间。
- 使用WeekDay-> get_WorkingTimes()-> Add(WorkingTime)方法将工作时间添加到工作日。
- 使用Calendar-> get_WeekDays()-> Add(WeekDay)方法将工作日添加到日历。
- 保存项目。
下面的代码示例演示如何使用C ++在项目中创建日历。
// Create a project instanceSystem::SharedPtrproject = System::MakeObject(); // Define CalendarSystem::SharedPtrcal = project->get_Calendars()->Add(u"Calendar1"); // Add working days monday through thursday with default timingscal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Monday));cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Tuesday));cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Wednesday));cal->get_WeekDays()->Add(WeekDay::CreateDefaultWorkingDay(Aspose::Tasks::DayType::Thursday));cal->get_WeekDays()->Add(System::MakeObject(Aspose::Tasks::DayType::Saturday));cal->get_WeekDays()->Add(System::MakeObject(Aspose::Tasks::DayType::Sunday)); // Set friday as short working daySystem::SharedPtrmyWeekDay = System::MakeObject(Aspose::Tasks::DayType::Friday); // Sets working time. Only time part of DateTime is importantSystem::SharedPtrwt1 = System::MakeObject();wt1->set_FromTime(System::DateTime(1, 1, 1, 9, 0, 0, 0));wt1->set_ToTime(System::DateTime(1, 1, 1, 12, 0, 0, 0));System::SharedPtrwt2 = System::MakeObject();wt2->set_FromTime(System::DateTime(1, 1, 1, 13, 0, 0, 0));wt2->set_ToTime(System::DateTime(1, 1, 1, 16, 0, 0, 0));myWeekDay->get_WorkingTimes()->Add(wt1);myWeekDay->get_WorkingTimes()->Add(wt2);myWeekDay->set_DayWorking(true);cal->get_WeekDays()->Add(myWeekDay); // Save the ProjectSystem::String dataDir = Examples::CPP::RunExamples::GetDataDir(System::Reflection::MethodBase::GetCurrentMethod(ASPOSE_CURRENT_FUNCTION)->get_DeclaringType().get_FullName());project->Save(u"Project_DefineCalendarWeekdays_out.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);
还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】,查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询。
标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!