Project プロパティの操作
Project プロパティの操作
Microsoft Project は保存します メタデータと設定 すべてのプロジェクトファイル(MPP/XML)に含まれます。
Aspose.Tasks for .NET を使用すると、 読み取り、変更、書き込み これらのプロパティをプログラムで操作できます。
これには以下が含まれます:
- 一般的なプロジェクトプロパティ(開始日、ステータス日、カレンダーなど)
- タスクおよび割り当ての既定値
- プロジェクトのバージョンおよび概要情報
- 会計年度と曜日設定
- 通貨設定
- 新しいタスクの属性
- 組み込みプロパティとカスタムプロパティ
一般的なプロジェクトプロパティ
Microsoft Project は以下のようなメタデータを保持します: 開始/終了日, ステータス日, カレンダーの種類、など。
また、 カスタムプロパティ。
プロパティ
プロパティ | 型 | 説明 |
---|---|---|
StartDate | DateTime | プロジェクト開始日 |
FinishDate | DateTime | プロジェクト終了日 |
CurrentDate | DateTime | 現在の作業日 |
StatusDate | DateTime | 進捗報告日 |
IsScheduleFromStart | Boolean | 開始基準か終了基準かを示す |
Calendar | Calendar | 割り当てられた基準カレンダー |
Project 情報の読み取り
その Project クラスにはプロジェクトプロパティを扱う多数のプロパティがあります:
- StartDate:プロジェクトの開始日。データ型は DateTime。
- FinishDate:プロジェクトの終了日。データ型は DateTime。
- CurrentDate:現在の日付。データ型は DateTime。
- StatusDate:プロジェクトの進捗が報告される日付。データ型は DateTime。
- IsScheduleFromStart:プロジェクトが開始基準でスケジュールされているか終了基準かを定義し、Boolean 値を取ります。
- Calendar:プロジェクトで使用されるカレンダーの種類で、次を通じて管理されます、 Aspose.Tasks.Calendar クラス。
Microsoft Project でプロジェクトプロパティを表示するには、クリックします Project Information の Project メニュー。
以下のプログラミングサンプルは、プロジェクトの開始日と終了日、プロジェクトが開始基準か終了基準か、作成者、最終更新者、改訂、キーワード、コメントを読み取り出力する方法を示します。
1// Create a project reader instance
2Project project = new Project("New Project.mpp");
3
4// Display project information
5if (project.Get(Prj.ScheduleFromStart))
6 Console.WriteLine("Project Finish Date : " + project.Get(Prj.StartDate).ToShortDateString());
7else
8 Console.WriteLine("Project Finish Date : " + project.Get(Prj.FinishDate).ToShortDateString());
9Console.WriteLine(project.Get(Prj.Author));
10Console.WriteLine(project.Get(Prj.LastAuthor));
11Console.WriteLine(project.Get(Prj.Revision));
12Console.WriteLine(project.Get(Prj.Keywords));
13Console.WriteLine(project.Get(Prj.Comments));
14Console.WriteLine("The program has run successfully");
Project 情報の書き込み
Aspose.Tasks for .NET はプロジェクト情報の読み取りだけでなく書き込みも可能です。以下のコード例は作成者、最終更新者、改訂、キーワード、コメントを設定する方法を示します。
1// Create project from template file
2Project project = new Project("New Project.mpp");
3// Set project information
4project.Set(Prj.Author, "Author");
5project.Set(Prj.LastAuthor, "Last Author");
6project.Set(Prj.Revision, 15);
7project.Set(Prj.Keywords, "MSP Aspose");
8project.Set(Prj.Comments, "Comments");
9project.Save("WriteProjectInfo_out.mpp", SaveFileFormat.MPP);
プロジェクトのバージョンの判定
Aspose.Tasks for .NET API は簡単な API 呼び出しでプロジェクトファイル情報を取得する機能を提供します。次に、 Project クラスの Get メソッドは静的クラス Prjを使用して Project 関連の情報を取得することを可能にします。このトピックではバージョン情報の取得方法を示します。
Prj クラスで公開される SaveVersion および LastSaved プロパティは、プロジェクトのバージョンとプロジェクトが最後に保存された日時を判定するために使用されます。SaveVersion は Integer 型をサポートし、LastSaved は DateTime 型をサポートします。
次の Prj.SaveVersion
と Prj.LastSaved
プロパティを使用して、 プロジェクトファイル形式のバージョン と 最終保存日を取得します。
Property | Type | Description |
---|---|---|
SaveVersion | int | Project file version |
LastSaved | DateTime | Last saved date |
1Project project = new Project("New Project.mpp");
2
3// Display project version
4Console.WriteLine("Project Version : " + project.Get(Prj.SaveVersion).ToString());
5Console.WriteLine("Last Saved : " + project.Get(Prj.LastSaved).ToShortDateString());
デフォルトのプロジェクトプロパティ
Microsoft Project では、新しいプロジェクトの設定作業を高速化するためにデフォルトのプロジェクトプロパティを設定できます。既定のプロパティは新しいタスクの開始と終了を定義し、既定の時間外および標準支払率を設定するなどの機能を提供します。Aspose.Tasks for .NET はこれらの機能をサポートします。
The Prj はプロジェクトの既定プロパティを管理するための多数のプロパティを公開します:
プロパティ | 型 | 説明 |
---|---|---|
DefaultStartTime | DateTime | タスクの既定開始時刻 |
DefaultFinishTime | DateTime | タスクの既定終了時刻 |
DefaultFixedCostAccrual | CostAccrualType | 既定のコスト計上 |
DefaultStandardRate | double | 既定の標準支払率 |
DefaultOvertimeRate | double | 既定の時間外支払率 |
DefaultTaskEVMethod | EarnedValueMethodType | 出来高評価の計算方法 |
DefaultTaskType | TaskType | 新しいタスクの既定タイプ |
//
- DefaultStartTime:新しいタスクの既定開始時刻。DateTime 値を取ります。
- DefaultFinishTime:新しいタスクの既定終了時刻。DateTime 値を取ります。
- DefaultFixedCostAccrual:割り当ての既定固定コスト計上。CostAccrualType 列挙体で定義された値のいずれかを取ります。 CostAccrualType 列挙体。
- DefaultStandardRate:既定の標準支払率。double を取ります。
- DefaultOvertimeRate:既定の時間外支払率。double を取ります。
- DefaultTaskEVMethod:既定のタスク出来高評価方式。EarnedValueMethodType 列挙体で定義された値のいずれかを取ります。 EarnedValueMethodType 列挙体。
- DefaultTaskType:プロジェクトの既定タスクタイプ。TaskType 列挙体で定義された値のいずれかを取ります。 TaskType 列挙体。 //
Microsoft Project で既定のプロジェクト情報を見るには:
- 開いているプロジェクトを開きます。
- メニューの Tools をクリックし、 Optionsを選択します。
- に移動します、 General タブ。 ここで既定の標準賃金率と時間外賃金率の設定を確認できます。
- に移動します、 Schedule タブ。 ここで既定のタスクタイプと既定のタスク開始時刻の設定を確認できます。
Aspose.Tasks によって書き込まれた Microsoft Project の既定プロジェクト情報
既定プロパティの読み取り
次の例はプロジェクトの既定プロパティを読み取り、コンソールウィンドウに出力します。
1// Create project
2Project project = new Project("New Project.mpp");
3
4// Display default properties
5Console.WriteLine("New Task Default Start: " + project.Get(Prj.DefaultStartTime).ToShortDateString());
6Console.WriteLine("New Task Default Type: " + project.Get(Prj.DefaultTaskType));
7Console.WriteLine("Resource Default Standard Rate: " + project.Get(Prj.DefaultStandardRate).ToString());
8Console.WriteLine("Resource Default Overtime Rate: " + project.Get(Prj.DefaultOvertimeRate).ToString());
9Console.WriteLine("Default Task EV Method: " + project.Get(Prj.DefaultTaskEVMethod).ToString());
10Console.WriteLine("Default Cost Accrual: " + project.Get(Prj.DefaultFixedCostAccrual).ToString());
既定プロパティの書き込み
次のコード行はプロジェクトの既定プロパティを設定します。
1// Create a project instance and Set default properties
2Project project = new Project();
3project.Set(Prj.ScheduleFromStart, true);
4project.Set(Prj.StartDate, DateTime.Now);
5project.Set(Prj.DefaultStartTime, project.Get(Prj.StartDate));
6project.Set(Prj.DefaultTaskType, TaskType.FixedDuration);
7project.Set(Prj.DefaultStandardRate, 15);
8project.Set(Prj.DefaultOvertimeRate, 12);
9project.Set(Prj.DefaultTaskEVMethod, EarnedValueMethodType.PercentComplete);
10project.Set(Prj.DefaultFixedCostAccrual, CostAccrualType.Prorated);
11project.Save("WriteDefaultProperties_out.xml", SaveFileFormat.XML);
プロジェクト概要情報の書き込み
ほとんどのプログラムはファイルとともに概要情報を保存します。Microsoft Project も同様です。作成者名、プロジェクト作成日、最後に編集・保存された日時に加え、キーワード、件名、コメントなども保存します。Aspose.Tasks for .NET はこれらの情報の読み書きを可能にします。
Project クラスの Set メソッドは書き込みに使用でき、 Get メソッドはPrj クラスのメンバを使用してプロジェクト概要情報を読み取るために使用できます。ファイルは概要情報を更新した後に保存できます。既存の MPP ファイルのプロジェクト概要情報を更新するには: 次の手順を実行します:
- インスタンスを作成します: Project クラス
- Prj クラスで公開されている各種プロパティを設定して概要情報を定義します。 Prj クラスを使用して概要情報を定義します。
- Project を次のメソッドで保存します: Save メソッドを使用して Project クラス。
ファイルの概要情報を見るには:
- ファイルブラウザでファイルを探します。
- ファイルを右クリックして選択します Properties。
- の Details タブ。
以下のコードサンプルはプロジェクト概要情報を MPP ファイルに書き込みます。
1// Instantiate Project class
2Project project = new Project("New Project.mpp");
3
4// Set project summary
5project.Set(Prj.Author, "Author");
6project.Set(Prj.LastAuthor, "Last Author");
7project.Set(Prj.Revision, 15);
8project.Set(Prj.Keywords, "MSP Aspose");
9project.Set(Prj.Comments, "Comments");
10project.Save("WriteMPPProjectSummary_out.mpp", SaveFileFormat.MPP);
会計年度プロパティ
会計年度は財政年度や予算年度と同じ意味です。国家、組織または個人が予算や税金を計算する期間を指します。Microsoft Project ではプロジェクトごとに会計年度を定義できます。Aspose.Tasks for .NET は既存プロジェクトから会計年度プロパティを読み取り、プロジェクト作成や編集時に会計年度プロパティを設定する機能を提供します。 会計年度プロパティを読み取る と 会計年度プロパティを設定する を行うことができます。
The Prj クラスは次のプロパティを公開し、プロジェクトの会計年度を管理します: FyStartDate :会計年度の開始月を定義し、Month 列挙体で定義された値のいずれかをサポートします。 FiscalYearStart :会計年度番号付けがプロジェクトで使用されているかどうかを決定します。Boolean。
- FyStartDate:現在の会計年度開始日を定義します(Month 列挙体の値)。
- FiscalYearStart:会計年度番号付けが使用されているかどうかを示します(Boolean)。
会計年度プロパティの読み取り
FyStartDate と FiscalYearStart プロパティにより、現在の会計年度開始日や会計年度番号付けが使用されているかを Aspose.Tasks で簡単に確認できます。
次のコードはプロジェクトの会計年度プロパティを読み取り、コンソールウィンドウに表示します。
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Display fiscal year properties
5Console.WriteLine("Fiscal Year Start Date : " + project.Get(Prj.FyStartDate).ToString());
6Console.WriteLine("Fiscal Year Numbering : " + project.Get(Prj.FiscalYearStart).ToString());
会計年度プロパティの書き込み
Microsoft Project で会計年度プロパティを見るには:
- プロジェクトファイルを開きます。
- メニューの Tools をクリックし、 Optionsを選択します。
- をクリックし、 Calendar タブ。以下のように表示されます。
Microsoft Project で会計年度プロパティが設定されていることを確認する。
次の例はプロジェクトの会計年度プロパティを書き込みます。
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set fiscal year properties
5project.Set(Prj.FyStartDate, Month.July);
6project.Set(Prj.FiscalYearStart, true);
7project.Save("WriteFiscalYearProperties_out.mpp", SaveFileFormat.MPP);
曜日プロパティ
Microsoft Project では、週の開始日や月あたりの稼働日数など、さまざまな曜日プロパティを設定できます。Aspose.Tasks はこれらの機能をプロパティ群でサポートしており、以下の操作を行うことができます: 曜日プロパティを読み取る および プロジェクトに書き込む。
Aspose.Tasks は、 Project クラスで公開されている一連のプロパティを通じて、プロジェクトの曜日プロパティを管理できます:
- WeekStartDay:週の開始曜日。DayType 列挙体で定義された値を取ります。 DayType 列挙体。
- DaysPerMonth:1か月の稼働日数。整数で指定します。
- MinutesPerDay:1日の稼働分数。整数で指定します。
- MinutesPerWeek:1週間の稼働分数。整数で指定します。
曜日プロパティの読み取り
次のコードはプロジェクトの曜日プロパティを読み取り、コンソールウィンドウに出力します。
1Project project = new Project("New Project.mpp");
2
3// Display week days properties
4Console.WriteLine("Week Start Date : " + project.Get(Prj.WeekStartDay).ToString());
5Console.WriteLine("Days Per Month : " + project.Get(Prj.DaysPerMonth).ToString());
6Console.WriteLine("Minutes Per Day : " + project.Get(Prj.MinutesPerDay).ToString());
7Console.WriteLine("Minutes Per Week : " + project.Get(Prj.MinutesPerWeek).ToString());
曜日プロパティの書き込み
Microsoft Project で曜日プロパティを見るには:
- ファイルを開きます。
- メニューの Tools をクリックし、 Optionsを選択します。
- を選択し、 Calendar タブ。以下の例のように表示されます。
Microsoft Project での曜日プロパティの表示
以下のコードは、上のスクリーンショットに示されたように曜日プロパティを書き込み、プロジェクトに反映します。
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set week days properties
5project.Set(Prj.WeekStartDay, DayType.Monday);
6project.Set(Prj.DaysPerMonth, 24);
7project.Set(Prj.MinutesPerDay, 540);
8project.Set(Prj.MinutesPerWeek, 3240);
9project.Save("WriteWeekdayProperties_out.xml", SaveFileFormat.XML);
通貨プロパティ
Microsoft Project ではプロジェクトで表示されるコストの通貨を設定できます。通貨コード、小数点以下の桁数、通貨記号を定義することで、コストが見やすく直感的に表示されます。Aspose.Tasks for .NET はこれらの機能をサポートし、通貨プロパティを設定・制御するための一連のプロパティを提供します。本トピックでは通貨プロパティを読み取る方法と設定する方法の両方を説明します。 通貨プロパティを読み取る、および それらを設定する方法。
Aspose.Tasks for .NET は、次のような通貨プロパティを管理するための Prj クラスで公開されるプロパティを提供します: Prj クラス、通貨プロパティを管理するためのプロパティ:
- CurrencyCode:3文字の通貨コード。例: USD、GBP、AUD。文字列で指定します。
- CurrencyDigits:小数点以下の桁数。例: 2(100.00)や 3(100.000)。整数で指定します。
- CurrencySymbol:通貨記号。例: $ または £。文字列で指定します。
- CurrencySymbolPosition:通貨記号の位置。例: 前($100)または後(100$)。CurrencySymbolPosition は CurrencySymbolPositionType 列挙体の値を取ります。
通貨プロパティの読み取り
次のコードはプロジェクトの通貨プロパティを読み取ります。
1Project project = new Project("New Project.mpp");
2
3// Display currency properties
4Console.WriteLine("Currency Code : " + project.Get(Prj.CurrencyCode).ToString());
5Console.WriteLine("<br>Currency Digits : " + project.Get(Prj.CurrencyDigits).ToString());
6Console.WriteLine("<br>Currency Symbol : " + project.Get(Prj.CurrencySymbol).ToString());
7Console.WriteLine("Currency Symbol Position" + project.Get(Prj.CurrencySymbolPosition).ToString());
通貨プロパティの書き込み
Microsoft Project で通貨プロパティを見るには:
- プロジェクトファイルを開きます。
- メニューの Tools を選択し、 Optionsを選択します。
- をクリックし、 View タブ。以下のように表示されます。
Microsoft Project における通貨プロパティの読み取り
次の例は通貨プロパティをプロジェクトに書き込みます。
1// Create a project instance
2Project project = new Project("New Project.mpp");
3
4// Set currency properties
5project.Set(Prj.CurrencyCode, "AUD");
6project.Set(Prj.CurrencyDigits, 2);
7project.Set(Prj.CurrencySymbol, "$");
8project.Set(Prj.CurrencySymbolPosition, CurrencySymbolPositionType.After);
9
10project.Save("WriteCurrencyProperties_out.xml", SaveFileFormat.XML);
新しいタスクの属性の設定
Microsoft Project では追加される新しいタスクに対して既定のプロパティを設定できます。本トピックでは Aspose.Tasks for .NET API を使用して新しいタスクの既定開始日を設定する方法を説明します。
The Prj クラスは次の NewTaskStartDate プロパティを公開し、新しいタスクの開始日を定義します。このプロパティは TaskStartDateType 列挙体の値をサポートします。
タスク属性を見るには:
- Microsoft Project でファイルを開きます。
- メニューの Tools を選択し、 Optionsを選択します。
- を選択し、 Schedule タブ。 タブは以下のように表示されます。
新しいタスクは現在の日付に開始するよう設定されています
次のコード行は新規タスクの開始日を設定します。
1// Create a project instance Set new task property and Save the project as XML project file
2Project project = new Project();
3project.Set(Prj.NewTaskStartDate, TaskStartDateType.CurrentDate);
4project.Save("SetAttributesForNewTasks_out.xml", SaveFileFormat.XML);
5
6// Display Status.
7Console.WriteLine("New Task created with start date successfully.");
カスタムおよび組み込みプロパティの読み取り
Aspose.Tasks for .NET では、カスタムプロパティは型付きコレクションを通じて利用可能であり、組み込みプロパティは直接利用できます。
次のコード例はカスタムおよび組み込みプロパティを読み取る方法を示します。
1// Create a project reader instance
2Project project = new Project("New Project.mpp");
3
4// custom properties are available through the typed collection
5foreach (var property in project.CustomProps)
6{
7 Console.WriteLine(property.Type);
8 Console.WriteLine(property.Name);
9 Console.WriteLine(property.Value);
10}
11
12// built-in properties are available directly
13Console.WriteLine(project.BuiltInProps.Author);
14Console.WriteLine(project.BuiltInProps.Title);
15
16
17// or as an item of built-in property collection
18foreach (var property in project.BuiltInProps)
19{
20 Console.WriteLine(property.Name);
21 Console.WriteLine(property.Value);
22}