JavaでMSProjectファイルを作成する

MS Projectは、管理者がプロジェクト管理アクティビティを効率的に実行するのを容易にする、よく知られたプロジェクト管理アプリケーションです。プロジェクトマネージャは、タスクを作成し、リソースを追加し、特定のプロジェクト内のリソースにタスクを割り当てることができます。さらに、タイムラインを定義したり、予算管理操作を実行したりできます。ただし、マネージャーがプロジェクト管理操作をカスタマイズする必要がある場合は、さまざまなシナリオが考えられます。また、組織はWebまたはデスクトップアプリケーション内のプロジェクト管理を自動化する必要がある場合があります。

このような場合、この記事では、基本的なプロジェクト管理操作をプログラムで実行する方法について説明します。特に、プロジェクトを最初から作成する方法、タスクとリソースを追加する方法、およびJavaを使用してリソースの割り当てとカレンダーを操作する方法を学習します。

Javaプロジェクト管理API

Aspose.Tasks for Javaは、MSProjectファイルを最初から作成できるプロジェクト管理APIです。さらに、いくつかの変更を追加するために、既存のプロジェクトを操作できます。 APIを使用すると、基本的なプロジェクト管理操作と高度なプロジェクト管理操作をシームレスに実行できます。 Aspose.Tasks for Javaは、JARとしてダウンロードするか、次の構成を使用してMavenベースのアプリケーションにインストールできます。

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-tasks</artifactId>
    <version>20.12</version>
    <classifier>jdk18</classifier>
</dependency>

Javaを使用してMS Projectファイルを作成する

MS Projectでは、プロジェクト関連のデータをMPPまたはXML形式で保存できます。それでは、以下の手順に従って、空のプロジェクトファイルの作成から始めましょう。

次のコードサンプルは、Javaを使用してMS Project(.mppおよび.xml)ファイルを作成する方法を示しています。

MS ProjectファイルをMPPとして保存する

// 完全な例とデータファイルについては、https://github.com/aspose-tasks/Aspose.Tasks-for-Javaにアクセスしてください。
// プロジェクトインスタンスを作成する
Project newProject = new Project();

// プロジェクトをMPPファイルとして保存
newProject.save("Project1.mpp", SaveFileFormat.MPP);

MS ProjectファイルをXMLとして保存する

// 完全な例とデータファイルについては、https://github.com/aspose-tasks/Aspose.Tasks-for-Javaにアクセスしてください。
// プロジェクトインスタンスを作成する
Project newProject = new Project();

// プロジェクトをXMLファイルとして保存
newProject.save("Project1.xml", SaveFileFormat.XML);

プロジェクト操作機能の詳細:プロジェクトの操作

Javaを使用してプロジェクトにタスクを追加する

プロジェクトファイルを作成したら、タスクの追加を開始できます。以下は、タスクを作成してプロジェクトファイルに追加する手順です。

次のコードサンプルは、C#を使用してプロジェクトにタスクを追加する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-tasks/Aspose.Tasks-for-Javaにアクセスしてください。

// プロジェクトを作成する
Project project = new Project();

// タスクを追加
Task task = project.getRootTask().getChildren().add("Summary1");

// サブタスクを追加
Task subtask = task.getChildren().add("Subtask1");

// プロジェクトをMPP/XMLファイルとして保存
newProject.save("Project1.xml", SaveFileFormat.XML);

タスク操作機能の詳細:タスクの操作

Javaを使用してプロジェクトにリソースを追加する

プロジェクトで次に重要なことは、タスクを実行するために割り当てられるリソースです。したがって、このセクションでは、プロジェクトにいくつかのリソースを追加します。プロジェクトにリソースを追加する手順は次のとおりです。

次のコードサンプルは、Javaを使用してプロジェクトにリソースを追加する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-tasks/Aspose.Tasks-for-Javaにアクセスしてください。

// プロジェクトを作成する
Project project = new Project();

// リソースを追加
Resource rsc = project.getResources().add("Rsc");

// プロジェクトをMPP/XMLファイルとして保存
newProject.save("Project1.mpp", SaveFileFormat.MPP);

リソース操作機能の詳細:リソースの操作

Javaを使用してプロジェクト内のリソースにタスクを割り当てる

タスクとリソースを追加したら、次はタスクを関連するリソースに割り当てます。プロジェクトでリソースの割り当てを実行する手順は次のとおりです。

  • Projectクラスを使用して、新しいプロジェクトを作成するか、既存のプロジェクトをロードします。
  • 前のセクションで追加したのと同じ方法で、タスクとリソースを追加します。
  • TaskオブジェクトとResourceオブジェクトでそれぞれタスクとリソースへの参照を取得します。
  • Project.getResourceAssignments().add(Task、Resource)メソッドを使用してリソース割り当てを作成します。
  • Project.save(String, SaveFileFormat)メソッドを使用してプロジェクトファイルを保存します。

次のコードサンプルは、Javaを使用してプロジェクトにリソース割り当てを作成する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-tasks/Aspose.Tasks-for-Javaにアクセスしてください。

// プロジェクトを作成する
Project project = new Project();

// タスクを追加
Task task = project.getRootTask().getChildren().add("Summary1");

// リソースを追加
Resource rsc = project.getResources().add("Rsc");

// リソースにタスクを割り当てます
ResourceAssignment assn = project.getResourceAssignments().add(task, rsc);

// プロジェクトをMPP/XMLファイルとして保存
newProject.save("Project1.mpp", SaveFileFormat.MPP);

リソース割り当て機能の詳細:リソース割り当ての操作

Javaを使用してプロジェクトにカレンダーを追加する

カレンダーは、プロジェクトのタイムラインを定義するために使用されるもう1つの重要なエンティティです。カレンダーを使用して、プロジェクトの完全なスケジュールを作成できます。カレンダーを作成するには、次の手順に従います。

次のコードサンプルは、Javaを使用してプロジェクトにカレンダーを作成する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-tasks/Aspose.Tasks-for-Javaにアクセスしてください。

// プロジェクトを作成する
Project project = new Project();

// カレンダーを定義する
Calendar cal = prj.getCalendars().add("Calendar1");

// 月曜日から木曜日までの営業日をデフォルトのタイミングで追加します
cal.getWeekDays().add(WeekDay.createDefaultWorkingDay(DayType.Monday));
cal.getWeekDays().add(WeekDay.createDefaultWorkingDay(DayType.Tuesday));
cal.getWeekDays().add(WeekDay.createDefaultWorkingDay(DayType.Wednesday));
cal.getWeekDays().add(WeekDay.createDefaultWorkingDay(DayType.Thursday));
cal.getWeekDays().add(new WeekDay(DayType.Saturday));
cal.getWeekDays().add(new WeekDay(DayType.Sunday));

// 金曜日を短い就業日として設定します
WeekDay myWeekDay = new WeekDay(DayType.Friday);

// 稼働時間を設定します。DateTimeの時間部分のみが重要です
WorkingTime wt1 = new WorkingTime();
java.util.Calendar calTime = java.util.Calendar.getInstance();

calTime.set(1,1,1,9,0,0);
Date date = calTime.getTime();
wt1.setFromTime(date);

calTime.set(1,1,1,12,0,0);
date = calTime.getTime();
wt1.setToTime(date);

WorkingTime wt2 = new WorkingTime();

calTime.set(1,1,1,13,0,0);
date = calTime.getTime();
wt2.setFromTime(date);

calTime.set(1,1,1,16,0,0);
date = calTime.getTime();
wt2.setToTime(date);

myWeekDay.getWorkingTimes().add(wt1);
myWeekDay.getWorkingTimes().add(wt2);
myWeekDay.setDayWorking(true);
cal.getWeekDays().add(myWeekDay);

// プロジェクトをMPP/XMLファイルとして保存
newProject.save("Project1.mpp", SaveFileFormat.MPP);

カレンダー機能の詳細:カレンダーの操作

無料ライセンスを取得する

評価の制限なしにAPIを試すために、無料の一時ライセンスを取得できます。

結論

この記事では、Javaを使用してMSProjectファイルを最初から作成する方法のいくつかの基本的な機能について学習しました。特に、プロジェクトにタスク、リソース、リソース割り当て、およびカレンダーを追加する方法を見てきました。 ドキュメントを使用して、Java MSProjectAPIの詳細を調べることができます。

関連項目