C ++でプロジェクトを操作します
C ++のAspose.Tasksでは、Microsoft Projectをインストールせずに、またはMicrosoft Office Automationを使用せずに、Microsoft Project(MPP/XML)ファイルを操作できます。強力で柔軟なAPI、Aspose.Tasksは、C ++アプリケーションでプロジェクトファイルを操作するために効率的なコードを作成するために必要なツールを提供することにより、時間と労力を節約します。
Aspose.Tasksを使用して、既存のファイルを開きたり、新しいファイルを作成したりできます。この記事では、既存のファイルを開くだけでなく、プロジェクトクラスを使用して、ストリームから新しい空のプロジェクトファイルを作成する方法について説明します。
空のプロジェクトファイルの作成
プロジェクトクラスは、プロジェクトの動作と同様に、プロジェクトに関連付けられたプロパティを設定および取得するために使用されるAspose.Tasksのメインクラスです。このクラスが提供する保存方法により、プロジェクトを1回のAPI呼び出しでXML、MPP、PDF、HTMLなどのさまざまな出力形式にレンダリングすることができます。このメソッドは、ファイルストリームまたはファイル名、およびsavefileformat列挙タイプによって提供される値の1つを受け入れます。
現在、Aspose.Tasksは、xmlプロジェクトファイルのみを作成するための機能を提供します。次のコード行は、XML形式で簡単なプロジェクトファイルを作成します。
XMLプロジェクトファイルは、Microsoftプロジェクトで開くことができます。
- ファイルメニューで、開くを選択します。
- ファイルタイプからXML形式(*.xml)オプションを選択し、出力XMLファイルを参照します。
- プロジェクトメニューで、プロジェクト情報を選択します
空のプロジェクトを作成し、XMLファイルとして保存
1// Create empty project
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3
4// Save project as xml
5project->Save(dataDir + u"EmptyProjectSaveXML_out.xml", Aspose::Tasks::Saving::SaveFileFormat::XML);
Create an Empty Project and Save to Stream
1// Create a project instance
2System::SharedPtr<Project> newProject = System::MakeObject<Project>();
3
4// Create a file stream
5{
6 System::SharedPtr<System::IO::FileStream> projectStream = System::MakeObject<System::IO::FileStream>(dataDir + u"EmptyProjectSaveStream_out.xml", System::IO::FileMode::Create, System::IO::FileAccess::Write);
7 // Clearing resources under 'using' statement
8 System::Details::DisposeGuard<1> __dispose_guard_0({ projectStream});
9 // ------------------------------------------
10
11 try
12 {
13 // Write the stream into XML format
14 newProject->Save(projectStream, Aspose::Tasks::Saving::SaveFileFormat::XML);
15 }
16 catch(...)
17 {
18 __dispose_guard_0.SetCurrentException(std::current_exception());
19 }
20}
Create an Empty Project and Save to MPP
1// Create empty project
2System::SharedPtr<Project> project = System::MakeObject<Project>();
3
4// Save project as MPP
5project->Save(dataDir + u"project.mpp", Aspose::Tasks::Saving::SaveFileFormat::MPP);